laravel框架是目前php框架中非常流行的框架一、基础篇
1、概念
Laravel是一个具有美好前景的年轻框架,社区在充满活力的同时,提供了完整清晰的文档,并提供了快速安全地开发现代APP应用所需的功能。
2011年,Taylor Otwell首次将Laravel带到了这个世界。 那时,Laravel是一个全新的现代框架。 Laravel基于MVC架构,在满足事件处理、用户身份验证等各种需求的同时,通过包管理实现了模块化、可扩展的代码,为数据库管理提供了坚实的支持。
不管是专家还是初学者,一接触Laravel,就会觉得见面很晚。 ——这就是你在为PHP项目寻找的框架。
2、安装1、找到安装包傻装
2、计算机安装
安装包命令: composer create-projectlaravel/laravelblog
composer一般在项目中使用composer.json
eg:require 关键字:哪些包是你项目所需要的
{
"require":{
' monolog/monolog':'1.0.* '
}
}
安装命令:找到composer.json位置 执行安装命令 composer install
3358 www.Sina.com/http://www.Sina.com//-prot=8080 (端口设置) ) ) ) ) )。
3、修改端口 php artisan serve 命令 laravel
(1)eg:php artisan serve
(2)eg:php artisan make:model Article (建立model)
什么是迁移
去看看你的 app 目录,下面是不是多了一个 Article.php 文件?那就是 Artisan 帮我们生成的 Model 文件
(3)eg:php artisan migrate(数据库的迁移)
打开learnlaravel5/database/migrations/2014_10_12_000000_create_users_table.php文件,你肯定能一眼看出它的作用:用 PHP 描述数据库构造,并且使用命令行一次性部署所有数据库结构
(4)模拟插入数据
phpartisanmake : seederarticleseeder
phpartisandb:seed
)5)基于eg:phpartisanmake :控制器管理/home控制器的构建
)6) eg:php artisan make:auth激活了laravel的auto系统(laravel利用PHP5.4的新功能,trait内置了非常完善、易用的用户注册功能,便于公司内部使用
)7) eg:php artisan --version查看当前版本
模拟插入数据
4、门户文件、数据库连接、默认根目录定义
1、laravel门户文件public下的index.php
一访问目录下的public,laravel就跑了起来
2、连接数据库
. env文件
DB_HOST=127.0.0.1
DB_DATABASE=laravel5
DB_USERNAME=root
DB_PASSWORD=root
ong168/article/details/53197366
3、定义路由 (laravel受欢迎的主要原因)
路由位置:app/Https/routes.php
Route::any('/', 'HomeController@add'); 定义任何方式都能访问的默认控制器和默认方法
Route::post('/add', 'HomeController@add'); 定义 post方式方法
Route::get('/delete/{id}','HomeController@del'); 定义get方式接值:缺点必须在方法参数中写入所接值
定义路由组
Route::group(['middleware' => 'auth', 'namespace' => 'Admin', 'prefix' => 'admin'], function() {
Route::get('/', 'HomeController@index');
});
定义路由得方式有很多详细见:https://laravel-china.org/docs/5.1/routing#route-groups
二、因为laravel框架是基于MVC的下面我们就从其着手分析
1、框架目录篇
2、MVC篇
控制器位置:app/Http/controllers/建立控制器
一、控制器
(1)Controller 控制器原理解析:
我们通过路由找到控制器那么我们这个路由位置在哪里?
app/Providers/RouteServiceProvider.php (路由服务供应者)
在routes.php中定义路由:Route::get('/test', 'TestController@show'); 2、在cmd窗口进入到当前框架目录下 eg:php artisan make:controller Admin/HomeController ("位置app/Http/controllers/",控制名) (3)控制器操作: 重定向: return redirect()->action('HomeController@show');
return redirect('show')
显示视图层以及传值: return view('upda',["list"=>$list]); 二、view视图层
(1) 视图层位置:resources/views
文件后缀为 .blade.php 控制器中显示视图 输入名字就行
如果是在views下新建文件夹控制器跳转(所见文件夹/视图名)
(2)公共模板 公共视图位置:resources/views/layouts/ eg:app.blade.php <body>@yield('content')</body> 公共视图引用: //继承公用模板 @extends('layouts.app') app是 resources/views/layouts/app.blade.php 可以换成其他的 @section('content')
不一样的内容
@endsection
此时不一样的内容会替换公共模板中的 @yield('content')
视图中显示值
<form action="{{URL('/add')}}" method="post" >
<a rel="external nofollow" href="{{URL('/del')}}?id={{$v->id}}">删除</a>
<a rel="external nofollow" href="{{ url('article/'.$article->id) }}">
eg:{{ $v->id }}
@if(条件) ...@else ...@endif
eg:@foreach ($data as $v)
<tr>
<td>{{ $v->id }}</td>
<td>{{ $v->title }}</td>
<td>{{ $v->message}}</td>
<td>{{ $v->time}}</td>
<td><a rel="external nofollow" href="delete/{{ $v->id }}">删除</a>|<a rel="external nofollow" href="upda/{{ $v->id }}">修改</a></td>
</tr>
@endforeach
@for ($i = 0; $i < 10; $i++) The current value is {{ $i }}@endfor
三、model层使用请见博客