laravel原创

来源:互联网 发布:淘宝网上怎么进货 编辑:程序博客网 时间:2024/04/29 19:31
php artisan make:controller ArticleController --plain

可以不生成index等方法


$name='jelly';
return view('site.about')->with('name',$name);


$data=[];
$data['a']='jelly';
$data['b']=''bool;
return view('site.about',$data);


compact用法
$first='jelly';
$last='bool';
return view('site.about',compact('first','last'));


前端输出
转义:{{ $name }}
不转义:{!! $name !!}
转义会过滤
不转义需要防止crsf攻击


在resource/views文件夹下创建app.blade.php
在body中使用@yield('content'),content区域即可被插入内容区域


先继承app.blade.php
@extends('app')
选定需插入的区域,例如content
@section('content')
<h1>abc</h1>
@stop

一个@section对应一个@stop


前端语法
@if()

@else

@endif


前端语法
@foreach($users as $user)
<li>{{ $user }}</li>
@endforeach

$users可以为空数组


在.env配置中配置,在具体的配置文件中使用env()获取配置,例如在database.php配置数据库
.env和env()配置优势在于线下我们使用.env不会上传.env至git,线上自行创建.env,便于版本管理


migration数据库版本管理
php artisan migration
执行创建表

php artisan migrate:rollback
撤销回滚

php artisan make:migration create_article_table --create=articles
增加intro字段至articles
php artisan make:migration add_intro_colum_to_articles --table=articles


创建model
php artisan make:model Article

数据库查询结果对象转数组
$article->toArray();
model可填充字段
protected $fillable=[];

php模拟执行页面
php artisan tinker


简单的blog
php artisan make:controller ArticleController

路由
Route::get('/article','ArticleController@index');

public function index(){
$article = Article::all();
}
使用Article::all()中的Article类需要先引入
use App\Article;

调试
dd();

Artilce::findOrFail($id);可以提示没有找到相应记录

前端使用{{ url('article',$id) }}获取a标签链接
$id即变量参数
也可以使用action('ArtilceController@show',$id)
$id即变量参数


重定向
redirect();

获取参数
$request->all();


mode中对某字段进行处理,函数名构造
set+字段+attribute($date),$date即需要传入的参数

model中构造ORM函数
scope+字段($query)

$artilce->create_at->diffForHumams();
多少时间之前

在model中设置,
protected $dates = ['published_at'];
create_at和update_at默认加入了$dates
加入之后可以使用Carbon时间函数


验证不通过,前端可以获取$errors变量

validate验证和request验证
php artsian make:request createArticleRequest

authorize A的B不能编辑

rules 规则
例:
return [
'tile'=>'reqiure|min:3|max:10',
'content'=>'reqiure',
];
验证不通过,重定向至表单页面

引入的话使用
Request\CreateArticleRequest $request

validate
$this->validate($request,['title'=>'reqiure','content'=>'reqiure']);


Route::resource('article','ArticleController');
相当于创建所有artilce开头的在ArticleController中所有方法的方法

php artisan route:list
可以看到所有route

前端页面使用@include是以view为根目录的
@include('error.list')


Eloquent ORM(一对多)

在user的model中创建
public function Article(){
return $this->hasMany('App\Article','user_id');//user_id即artilce表中与user表的外键
}
通过User::Artilce()即可获取user所有的文章

在Artilce中创建
public function owner(){
$this->belongsTo('App\User',);
}
通过Article::owner()即可获取文章作者相关信息

0 0
原创粉丝点击