• laravel 博客


    最近使用laravel5.6做了博客项目,其中碰到了一些问题,现在总结一下:(基础学习篇)

    1、laravel的下载

      ①手动下载安装包,到laravel官方网站下载即可

      ②通过composer下载,安装composer之后,通过命令下载laravel,命令在laravel官网都可以看到(composer create-project --prefer-dist laravel/laravel blog

    2、本地域名配置

      ①打开httpd.conf,开启rewrite和vhost配置项,如下:

      (LoadModule rewrite_module modules/mod_rewrite.so);

      (LoadModule vhost_alias_module modules/mod_vhost_alias.so);

      (Include conf/extra/httpd-vhosts.conf)。

      并修改

      <Directory "D:/phpStudy/PHPTutorial/Apache/cgi-bin">
        AllowOverride all
        Options None
        Require all granted
      </Directory>

      ②在修改vhost第二个配置项后会在Apacheconfextra生成httpd-vhosts.conf文件,添加虚拟域名如下

      <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host2.example.com
        DocumentRoot "D:/****/"
        ServerName ****
        ErrorLog "logs/dummy-host2.example.com-error.log"
        CustomLog "logs/dummy-host2.example.com-access.log" common
      </VirtualHost>

      ③修改电脑系统文件hosts,添加虚拟域名,路行为(C:WindowsSystem32driversetc),添加虚拟域名 127.0.0.1  ****

      注:在配置的过程中,如果怕修改错误导致文件不能使用,可以先备份在修改,此外修改完成后,需要重启Apache才能访问,域名后面需要加上 '/',否则会被当做搜索条件。

    3、路由命名

      Route::group(['as' => 'admin::'], function () {  Route::get('dashboard', ['as' => 'dashboard', function () { } ]); });

      Route::get('/test', 'AdminIndexController@index')->name('profile');

      路由命名可以直接通过Route(‘profile’)访问路由的地址

      注:路由传参的时候需要加上{},若为可选参数加上?,可以对参数进行限制,如下

        // Route::get('reg/{id}', function ($i) {
        // return 'User '.$i;
        // })->where(['id'=>'[0-9]+']);

    4、artisan创建控制器和model

      php artisan make:controller IndexController;

      php artisan make:model UserModel;

       直接创建分别会生成在Controllers和App目录下,如果自己创建了文件夹,可以加上路径,例如:

      php artisan make:model Http/Model/UserModel;则直接在App/Http/Model/UserModel/文件夹下

    5、模板传参

      单个变量或者数组通过with('a',$a)进行传递,当传递多个参数时,使用compact进行传参,格式如return view('myview',compact('x','y'));x、y可以是数组也可以是变量

      注意:在使用back()传递参数时,总是获取不到信息,原因是学习过程参考的laravel5.2版本的视频教程,在更新中web中间件已经自动加载,不需要重复加载,导致session变量无法存储,最终没能获取到值,解决办法,去掉web中间件。

    6、更换电脑访问laravel,报403错误,不允许访问地址,打开了phpstudy允许目录列表,解决了问题。问题出现在vhosts-ini文件中,修改之后正常访问。

    7、使用postman模拟访问方式时,总是报错页面过期再试一次,是由于laravel的csrf验证导致无法通过,解决办法在VerifyToken.php文件中,加上需要访问的地址。

    8、在使用artisan命令创建控制器时,总报错:unable to detect application namespace;查了好多网站,最终发现所有答案都是在composer.json文件中多了逗号,于是查看conposer.json文件,发现之前学习备注了配置的用途,删掉之后,artisan命令可以正常使用。

      创建命令的另一个报错:warning:require(E:.....www..../vendor/autoload.php):failed to open stream; fatal :error require( )。解决办法:进入根目录执行命令composer update。可能是缺少文件导致错误

    9、laravel对标签的过滤有自己的解决办法,在模板输出是两边加上!!$a!!即可

    10、模板引擎,在模板中可以使用@yield()和@section()@show,对于后者可以在模板中继续添加内容,子类继承时只需要加上parent即可加载。

      子类继承模板使用@extends(‘layouts.admin‘),注:extends需加 s ,路径填写是用‘ . ’隔开

     
        

    以此来记录编程之路,偶尔需要静下心来写点东西。
  • 相关阅读:
    mac 修改Python版本
    idea 系列破解
    史上最完全Mac安装Scrapy指南
    mac下brew安装mysql
    IOS: 网络图片缓存
    欢迎访问我的git
    学习笔记
    2019-2020-1 20191327《信息安全专业导论》第十二周学习总结
    2019-2020学年 20191327《信息安全专业导论》第十一周学习总结
    2019-2020学年 20191327《信息安全专业导论》第十周学习总结
  • 原文地址:https://www.cnblogs.com/yaradish/p/9432862.html
Copyright © 2020-2023  润新知