PHP语言菜鸟笔记,laravel 入门教程
小标 2018-07-26 来源 : 阅读 4059 评论 0

摘要:本文主要向大家介绍了PHP语言菜鸟笔记,laravel 入门教程,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言菜鸟笔记,laravel 入门教程,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

安装 Laravel:

查看laravel包: composer search laravel

 

查看所有版本: composer show -all laravel/laravel

 

首先,通过 Composer 安装 Laravel 安装器:composer global require "laravel/installer"

 

你还可以在终端中通过 Composer 的 create-project 命令来安装 Laravel 应用,下载5.4版本使用这个命令:

 

composer create-project --prefer-dist laravel/laravel blog 5.4.*

 

如果缺少vendor文件在当前文件夹下执行命令:composer install

配置 Laravel:

在 .env 文件中添加 key ; 生成key :php artisan key:generate

 

开启'debug' => env('APP_DEBUG', true), 在 \config\app.php 文件中

 

其他配置....

配置路由:

在 \routes\wab.php 页面,详情看文档

 

路由的从命名:

 

    直接显示输出:Route::get('as',['as'=>'ass', function () { echo route('ass'); }]);或:Route::get('as', function () { echo route('ass'); })->name('ass');

 

    控制器路由:Route::get('index','IndexController@index')->name('index');

 

    通过辅助函数 route 为该命名路由生成 URL,可以有第二个参数。

 

路由群组:共享属性以数组的形式参数传递给 Route::group 方法。

 

    路由前缀:['prefix' => 'admin']   // 匹配 "/admin" URL

 

    命名空间:['namespace' => 'Admin'] // 控制器在 "App\Http\Controllers\Admin" 命名空间下

 

    中间件: ['middleware' => 'auth'] // 使用 Auth 中间件

 

    子域名路由:['domain' => '{account}.[myapp.com](//myapp.com/)']

 

    Route::group(['namespace' => 'Admin'], function(){       });

视图传值:

给视图传一个值:return view('greeting', ['name' => 'James']);或: return view('greeting')->with('name', 'James');

 

给admin下的profile传一个$data数组值 :return view('admin.profile', $data);

 

返回上一个视图:return back();

 

跳转页面:return redirect('跳转的页面');

Blade模板:

输出变量:{{ $name }}

 

输出js代码:{!! $name !!}

 

不解析这个:@{{ name }}

 

给一个默认值:{{ $name or "这是默认值" }}

 

三元运算符:{{ isset($name) ? $name : "假就用这个" }}

if:    @if ($str > 60)

 

            真显示

 

        @else

 

            假显示

 

        @endif

 

unless: 除非/如果不 /  除…之外

 

    @unless ($str > 60)

 

        除了 $str > 60 的,其他的都显示

 

    @endunless

for:   @for ($i = 0; $i < 10; $i++)

 

            {{ $i }}

 

        @endfor

foreach:   @foreach ($users as $user)

 

                <p> {{ $user->id }}</p>

 

            @endforeach

 

forelse:是foreach 的补充,有就显示,没有就走下面的

 

        @forelse ($users as $user)

 

            <li>有就显示 </li>

 

        @empty

 

            <p>没有就走下面的</p>

 

        @endforelse

while:  @while (true)

 

            <p>I'm looping forever.</p>

 

        @endwhile

 

引人模版:@include( '路径.模版名' );

 

引人内容,要替换的部分:

 

            @yield('title')

 

            @yield('content')

 

            @section('sidebar')

 

                This is the master sidebar.

 

            @show

 

替换内容:   @extends('layouts.app') :先引入要替换的页面,像父类一样

 

            @section('title', 'Page Title')

 

            @section('sidebar')

 

                @parent   :这个显示sidebar 中默认的内容

 

                <p>This is appended to the master sidebar.</p>

 

            @endsection

 

            @section('content')

 

                <p>This is my body content.</p>

 

            @endsection

Model操作:

创建model: php artisan make:model 文件名/userModel

 

model的约定:

 

    在laravel中约定(非强制),表名叫xxs,复数形式.类和表名有关系,一般表名去掉s,即为Model的类名.

 

    表名的约定 默认表名为Model名+s,可能通过的model类的table属性来指定表名.

 

    id的约定 Model默认认为,每张表都有一个叫做id的主键,你可以通过primaryKey属性来指定主键列名.

 

    不想要created_at,updated_at字段,可以把model的timestamps属性设为false

 

        class XxModel extends Model {

 

            protected $table = 'yourTableName';//指定表名

 

            protected $primaryKey = 'Xx_id'; //设置主键

 

            public $timestamps = false; //去掉created_at,updated_at字段

 

        }

 

继承自:Illuminate\Database\Eloquent\Model

 

实例化Model:

 

    $model = new App\Xxx(); // 得到Xx表的Model,且不与表中任何行对应.

 

    $model = Xxx::find($id); // 得到Xx表的Model,且与$id行数据对应.

 

增:

 

    public function add() {

 

        $msg = new Msg();

 

        $msg->title = $_POST['title'];

 

        $msg->content= $_POST['title'];

 

        return $msg->save() ? 'OK' : 'fail';

 

    }

 

查:

 

    查单行: find()与first()

 

        Msg::find($id) // 按id查

 

        Msg::where('id','>',3)->first();// 按where条件查

 

    查多行: all()和get()

 

        Msg::all(['列1','列2']);// 无条件查所有行. select 列1,列2 from msgs;

 

        Msg::where('id','>',2)->get(['列1','列2']);// 按条件查多行

 

改:

 

    public function up($id) {

 

        if( empty($_POST) ) {

 

            $msg = Msg::find($id);

 

            return view('msg.up',['msg'=>$msg]);

 

        }else {

 

            $msg = Msg::find($id);

 

            $msg->title = $_POST['title'];

 

            $msg->content= $_POST['content'];

 

            return $msg->save() ? 'OK' : 'fail';

 

        }

 

    }

 

删:

 

    public function del($id) {

 

        $msg = Msg::find($id);

 

        return $msg->delete() ? 'ok' : 'fail';

 

    }

 

复杂查询:// select .. where id>2 order by id desc limit 2,1;

 

    Msg::where('id','>',2)->orderBy('id','desc')->skip(2)->take(1)->get();

 

统计

 

    Msg::count(); //总数

 

    Msg::avg('id'); //平均值

 

    Msg::min('id'); //最小

 

    Msg::max('id'); //最大

 

    Msg::sum('id'); //合计

 

分组  // 用DB::raw()方法,raw是"裸,不修饰的"意思

 

    Goods::groupBy('cat_id')->get(['cat_id',DB::raw('avg(price)')]) );

数据库:

引人:use Illuminate\Support\Facades\DB;

 

测试是否连接成功:$pdo = DB::connection()->getPdo();  dd($pdo);

 

运行 Select 查询:DB::select('select * from users where active = ?', [1]);

 

运行插入语句:DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);

 

运行更新语句: DB::update('update users set votes = 100 where name = ?', ['John']);

 

运行删除语句:DB::delete('delete from users');

 

运行一个通用语句:DB::statement('drop table users');

以上就介绍了PHP的相关知识,希望对PHP有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 2 不喜欢 | 0
看完这篇文章有何感觉?已经有2人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程