LNMP环境配置laravel的注意事项

在用laravel开发接口的后,部署到centos(6.5)后。出现的一些问题记录:

1.上传根目录后,目录权限需要改为:www:www

2.nginx.conf 配置文件里面需要添加:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

3.涉及到文件上传到时候。需要手工的安装 php_file模块。这个地方注意 extension 等于 后面的后缀树 .so结尾的。而不是.dll

参考:

a. 跳转到fileinfo源代码目录` cd /root/downloads/lnmp1.2-full/src/php-5.6.9/ext/fileinfo/`
b. 执行 `/usr/local/php/bin/phpize`
c. 执行 `./configure –with-php-config=/usr/local/php/bin/php-config`
d. 执行 `make && make install`
e. 修改php.ini文件 `vi /usr/local/php/etc/php.ini` 在末尾增加`extension = fileinfo.so`即可
f. 重启php-fpm ,`/etc/init.d/php-fpm reload`

laravel自定义验证

// 输入验证
       $rules = [
           ’email’ => ‘required|unique:posts|max:255’,
           ‘name’ => ‘required|between:1,20’,
           ‘body’ => ‘required’,
       ];
       $message = [
           ‘required’ => “:attribute 不能为空”,
           “between” => “:attribute 长度必须在 :min 和 :max 之间”
       ];
       $attributes = array(
           “email” => ‘电子邮件’,
           ‘name’ => ‘用户名’,
           ‘body’ => ‘内容’,
       );

       $validator = Validator::make($request->all(), $rules, $message, $attributes);

       if ($validator->fails()) {

           return response()->json([‘code’ => ‘-1’, ‘message’ => $validator->errors()->all()]);
       }

中间件传值给控制器

// web.php
Route::get('/check', '[email protected]')->middleware(App\Http\Middleware\CheckRequest::class);

// Middleware/CheckRequest.php
class CheckRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $check_request = 'CheckRequest';
        $request->attributes->add(compact('check_request'));
        return $next($request);
    }
}

// CheckController.php
//use Request;
use Illuminate\Http\Request;
class CheckController extends Controller
{
    public function check(Request $request)
    {
        return $request->get('check_request'); // 输出CheckRequest
    }
    
    public function check2()
    {
        return Request::get('check_request'); // 输出CheckRequest
    }
}

laravel 使用concat 拼接列

 

laravel 在处理结果集的列的时候需要用到。

$ptList = DB::table(xx) ->select(‘id’,’name’,DB::raw(‘CONCAT(“images/PTgame/”,gameid,”.jpg”) as gameid’),’type’)
       ->where(function ($query) use ($gameName, $gameType) {          

  if ($gameName != ”) {                    $query->where(‘name’, ‘like’, ‘%’ . $gameName . ‘%’);                }              

if ($gameType != ”) {                    $query->where(‘type’, $gameType);                            })         

  ->groupBy(‘name’)            ->get();

 

laravel 5.2新特性

1.路由模型绑定(简化控制器里面写show()方法)

image

如果需要由其他变量来返回对象可以到routeserviprovider里面做绑定:

image

其他步骤:1.表结构里面添加字段比如username

image

(用于生成随机唯一username)

image

清空数据库并重新生成数据:

image

image

上图的username其实就是在serviceprovider里面注册的key值。

2.访问次数控制

image

用httpie工具测试:

image

指定一分钟的次数:

image

image

实现原理参考 kernel.php里面的 throttle 中间件。

image

3.快速实现用户注册登录:

image

会生成homecontroller.php

image 

image

自动注册登录,默认登录1分钟不超过5次:

image

make:Auth注册的路由:

image

4.模板里面出现errors变量 未定义:需要把路由里面加到相应的middleware控制。如果是web 应用,可以把路由由web 应用中间件包裹控制:

image

image

PHPStorm系列2:快捷键

phpstorm里面的任何快捷键操作都可以自定义!

 

1.ctrl+shift+a  :可以输入任何跟配置项相关的英文单词

比如tab设置为不显示了如何开启?看图:

image

2.怎么快速从文件之前跳转:1.ctrl+shift+n

CTRL+TAB 在已经打开的文件之间跳转

image

3,自定义 快捷键的操作通过 第一个快捷键 输入 keymap就可以修改添加了.

4.live template 功能

第一个快捷键输入 live t  就可以搜索出来这个设置。可以自定义一些代码的快捷代码。具体设置就不详述。比较简单。

image

5.多点编辑: 按住alter 键,鼠标选中即可。

6.alt+j  从上往下找相同的单词

PHPStorm ide使用tips

phpstorm 简介:最好的php编辑器,没有之一。

1.界面和配色

1.ALT+1:隐藏/显示sidebar

2.根据view里面的菜单帅选自己感兴趣显示的东西:比如 tool bar status bar等

3.去掉面包屑:

image

4.打开的文件tab ,不想显示 用 CTRL+E 切换,然后回车即可,或者用 ctrl+tab切换也可以

5.修改页面右边的主题:

image

字体推荐设置:

image

下载 fira 字体,进入到ttf目录(window) 双击安装即可,重启phpstorm。就可以看到这个字体了:

image

编码区的代码修改了。然后修改sidebar(左边区域的代码)的样式:

image

主界面跟左边sidebar的颜色不一致的话,可以在phpstorm里面安装一个color ide :

image

laravel简介以及安装方式。

最近在用laravel开发一些项目。所以把一些基础的东西记录一下。方便快速熟悉,测试一些功能。

composer  : php包依赖管理工具

getcomposer.org  : composer 官方网站

packagist.org    :php包仓库(所有想要实现的功能可以在里面搜索是否有。避免重复造轮子,laravel也在里面)

laravel有2种安装方式:

note:这2种安装方式会在当前目录创建项目。所以在执行命令之前先切换到你想要的目录。

1.通过 laravel命令安装。但是必须在composer安装一个包:

composer global require "laravel/installer=~1.1"

用laravel命令 创建新项目:

laravel new projectname

2 利用composer 安装laravel

composer create-project laravel/laravel  projectname

3.进入到项目的目录然后运行命令启动自动的web容器访问项目:

cd projectname (你的项目名称)
php artisan serve

看图:

image

image

本项目版本为 laravel 5.3

基于laravel的后台管理系统:Laravel Angular Admin

先来看一下外观:

image

一些前端组件安装:

npm install phantomjs-prebuilt
npm install --save-dev run-sequence
npm install gulp-sass

image

image

image

开始安装:

image

配置.env:

image

3.执行:

composer install && npm install && bower install

最后运行如下命令创建数据表并填充数据:

php artisan migrate
php artisan db:seed

截图如下:

image

image

完毕后:配置一下vhosts和 window的 hosts文件:

image

image

访问配置,然后登录。

image

image