提示:
laravel介绍、文件配置、路由使用 、控制器的使用 、
数据的操作、@csrf防护、文件上传
各位友友们,今天我们来谈谈laravel框架中对数据的操作。下边案例希望有帮助❤
提示:以下是本篇文章正文内容,下面案例可供参考
composer安装创建 laravel 项目laravel是一套优雅简介的PHP开发框架,受欢迎程度非常之高,功能强大,工具齐全
composer create-project --prefer-dist laravel/laravel blog
laravel是基于mvc模式的php框架,m——模型层,v——视图层,c——控制器层;以下为laravel框架的目录文件,框出来的文件目录将在后续中用到:
使用 Laravel 框架操作数据库,不需要自己编写操作数据库的代码,只需要配置好数据库的连接信息,
然后使用 Laravel 框架提供的方法就可以操作数据库了
config/database.php
'default' => env('DB_CONNECTION', 'mysql')
使用 env 函数从 .env 文件中读取 DB_CONNECION,如果没有则将"mysql"赋值给变量 default 所以数据库的配置信息实在 .env 中 将配置信息修改为自己的实际数据库配置
使用laravel 的数据迁移DB_CONNECTION=mysql
DB_HOST=127.0.0.1 //服务地址
DB_PORT=3306 //3306端口
DB_DATABASE=db1 //数据库名称
DB_USERNAME=root //用户名
DB_PASSWORD=root //密码
php artisan migrate:install
php artisan serve
Laravel 使用 blade 模板
模板文件置于 resources/views 目录下
模板文件以 .blade.php 作后缀名
Route::middleware(‘auth:api’)->get(’/user’, function (Request $request) {return $request->user();});
php artisan make:controller PostController
思路:
get:获取资源 post:新增资源 put:更新资源 delete:删除资源 path:增量 option:查询都支持哪些方式
编写控制器Route::get(’/posts’,’\App\Http\Controllers\PostController@index’);
class PostController extends Controller
{
public function index(){
p o s t s = P o s t : : o r d e r B y ( ′ c r e a t e d a t ′ , ′ d e s c ′ ) − > g e t ( ) ; r e t u r n v i e w ( ′ p o s t . i n d e x ′ , [ ′ p o s t s ′ = > posts=Post::orderBy('created_at','desc')->get(); return view('post.index',['posts'=> posts=Post::orderBy(′createdat′,′desc′)−>get();returnview(′post.index′,[′posts′=>posts]);
}
}
代码如下(示例):
1、编写路由:
Route::post('/posts','App\Http\Controllers\PostController@store');
2、调用控制器
public function store(){
$model = new Post();
$model->title=request('title');
$model->content=request('content');
$model->des=request('des');
$model->save();
return redirect('/aa');
}
注:
Route::get('/delete/{id}','App\Http\Controllers\PostController@delete');
调用控制器
public function delete($id){
$model=Post::where('id',$id)->delete();
return redirect('/aa');
}
删除数据的标签
@foreach($post as $v)
<a href="/delete/{
{$v->id}}">删除</a>
@endforeach
注:
删除的路由加入{id}
删除数据语法 :类名::where(‘id’,$id)->delete();
路由重定向:return redirect
Route::get('/posts/{id}/edite','App\Http\Controllers\PostController@edite');
控制器
public function edite($id){
$model=Post::find($id);
return view('post.edite',['post'=>$model]);
}
htlml详情页面中调用路由;
这里对文章进行总结:
Laravel 会自动为每个活跃的用户的会话生成一个 CSRF「令牌」
这个令牌服务器保存一份,客户端也会带过去一份
当客户端通过表单或者ajax向服务器提交数据时,会将令牌一起带过去
Laravel 比较两个令牌,如果一致,则认为安全
laravel 建议将上传的文件保存到 storage/app 目录下的 public 目录下
创建两个目录之间的连接
php artisan storage:link
l在 add.blade.php 中加入 csrf
文件头写入
add.blade.php 中加入如下div,不使用文本域meta name=“csrf-token” content="{ { csrf_token() }}">
ylaravel.js中加入如下配置,配置上传图片的处理 程序“div id=“content” style=“height:400px;max-height:500px;”>
请输入文章内容
var E = window.wangEditor;
var editor = new E(’#content’)//利用div创建一个editor 对象
editor.config.uploadImgServer =’/posts/image/upload’;//配置上传的服务器地址
设置 headers头(举例)
editor.config.uploadImgHeaders = {
Accept: ‘text/x-json’,
‘X-CSRF-TOKEN’ : $(‘meta[name=“csrf-token”]’).attr(‘content’)
}
//配置上传时候的键的名称
editor.config.uploadFileName = ‘file’
editor.create()
这里对文章进行总结:
以上就是本次内容la,方法是总结的,本文仅仅简单介绍了添加删除编辑的使用,而laravel中还提供了大量能使我们快速便捷地处理数据的方法。谢谢友友们的观看,哪里有问题请指出,再改正,谢谢!!