laravel 5.5
安装laravel5.5
服务器要求
PHP >= 7.0.0
PHP OpenSSL 扩展
PHP PDO 扩展
PHP Mbstring 扩展
PHP Tokenizer 扩展
PHP XML 扩展
安装 Laravel
Laravel 利用 Composer 来管理依赖。所以,在使用 Laravel 之前,请确保你的机器上安装了 Composer。
安装Composer
Ubuntu:sudo apt-get install Composer
CntOS : sudo yum install Composer
Arch:sudo pacman -S Composer
使用 Composer 下载 Laravel 安装程序:
composer global require "laravel/installer"
通过 Composer 创建项目
通过在终端中运行 create-project 命令来安装 Laravel:
composer create-project --prefer-dist laravel/laravel blog "5.5.*"
目录权限
安装完 Laravel 后,你可能需要给这两个文件配置读写权限:storage 目录和 bootstrap/cache 目录应该允许 Web 服务器写入,否则 Laravel 将无法运行。
$ sudo chmod 777 storage/*/*
$ sudo chmod 777 bootstrap/cache
目录结构
app:应用的核心代码
bootstrap:少许文件–>用于框架的启动和自动载入配置
config:应用的所有配置文件
database:包含数据库迁移文件以及填充文件
public:应用的入口文件,前端资源文件
resources:试图文件,未编译的原生前端资源文件
routes:应用定义的所有路由
storeage:防止包含了编译后的blade模板,session,文件缓存
tests:自动化测试文件
Vendor:第三方类库,通过composer加载依赖
路由调用控制器
在routes目录下的web.php文件定义
/*
* get : 请求资源
* post: 更新全部资源
* put : 更新部分资源
*/
Route::get('/page',function(){
return 'this is Larvel!';
});
访问方法:public/index.php/page
路由传递参数两种方式:
必选参数
可选参数
# 必选参数
Route::get('/my_name/{name}',function($name){
return 'your name is'.$name;
});
# 可选参数
Route::get('/page/{name?}', function ($name=null) {
return $name;
});
定义控制器
App\Http\Controllers
// PageController.php
namespace App\Http\Controllers;
class PageController extends Controller
{
public function index()
{
return 'page1';
}
}
定义路由:web.php
Route::get('/Page','\App\Http\Controllers\PageController@index');
//@指定方法名
使用Artisan命令快速创建控制器
php artisan make:controller 控制器名
视图模板
1.使用blade
resources/Post/Post.blade.php
Hello laravel!
创建控制器PostController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function index(){
return view('Post/index');
}
}
设置路由web.php
Route::get('/Post','\App\Http\Controllers\PostController@index');
1
向视图传递变量
使用with方法
// 控制器设置变量
$name = "Muxi_k";
return view('Post/index')->with('name',$name);
试图接收变量
{{ $name }}
使用直接传递
return view('Post/index',['title' => '今天要吃什么']);
试图接收变量
{{ $title }}
TODO…