首页 > 代码库 > laravel实践记录

laravel实践记录

此次笔记采用的是laravel5.1版本昨晚样板

1、从gitcheckout下来后,首先在env修改数据库相关

2、默认laravel没有model目录,默认有一个model文件User.php放在app里面,model其实就是对应数据库的实体类文件。

3、

php composer.phar install 与 php composer.phar update 

如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本,而不是根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本如果没有 composer.lock 文件,composer 将在处理完依赖关系后创建它。  
为了获取依赖的最新版本,并且升级 composer.lock 文件,你应该使用 update 命令。php composer.phar update,这将解决项目的所有依赖,并将确切的版本号写入 composer.lock

如果你只是想更新几个包,你可以像这样分别列出它们:php composer.phar update vendor/package vendor/package2你还可以使用通配符进行批量更新:php composer.phar update vendor/*

4、添加自定义类包

autoload-dev和autoload-dev:前者是开发环境加载,后者是正式环境加载
"autoload": {
        "classmap": [
            "database",
            "lib" //这个我把它放到app同级
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },

 

执行php composer.phar install,可以看到autoload_classmap.php里面已经包含了lib下所有文件

 

5、关于laravel认证功能http://laravelacademy.org/post/163.html

其中中间件定义在E:\lamiangit\laravel\app\Http\Kernel.php

E:\lamiangit\laravel\config\auth.php 此文件定义的是验证的配置,其中

‘model‘ => App\User::class,

定义的是用户验证表的位置。如果User目录有变更,需要修改此处

 

6、关于日志

配置E:\lamiangit\laravel\config\app.php 

‘log‘ => ‘daily‘, //每天

sql日志配置

E:\lamiangit\laravel\app\Providers\AppServiceProvider.php

public function boot()
    {
        if (env(APP_ENV, APP_DEBUG) == true) {

            DB::listen(function ($sql, $bindings, $time) {
                foreach ($bindings as $index => $param) {
                    if ($param instanceof DateTime) {
                        $bindings[$index] = $param->format(Y-m-d H:i:s);
                    }
                }
                $sql = str_replace("?", "‘%s‘", $sql);
                array_unshift($bindings, $sql);
                Log::info(call_user_func_array(sprintf, $bindings));
                // dump($sql);
            });
        }
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 



 

laravel实践记录