我之所以选择laravel是因为它有比较高的自由度,并且功能很强大(当然速度略慢)。
安装
理论上我应该采用homestead安装环境的,但是踩了很多坑,主要是vagrant的网址在国外,不知道为什么连接不上下载不了,国内又没有找到合适的镜像。所以我偷懒直接用了本地的安装环境(upupw,你萌估计没听过)。我用的是laravel5.2版本,在文档上我看到了她需要的环境的要求。
- PHP版本 >= 5.5.9
- PHP扩展:OpenSSL
- PHP扩展:PDO
- PHP扩展:Mbstring
- PHP扩展:Tokenizer
可以看出,laravel还是比较激进的框架,一般而言对php的版本都有比较高的要求(laravel5.3则要php5.6.4)
安装方法在这里
采用laravel new
方法生成的项目可能会少一些文件。我则是直接clone了laravel的官方demo来进行学习
git clone https://github.com/laravel/quickstart-intermediate quickstart cd quickstart composer install php artisan migrate
最简单的运行流程
我讲一下最基本的laravel运行流程
入口文件
在项目文件夹/public/index.php
里。可以配置apache把网站根目录直接弄到public文件夹上。有兴趣的同学可以看一下里面导入的自动加载类文件(反正是第三方类库)。
路由机制
在项目文件夹/app/Http/Requests/routes.php
内部定义了路由机制。
文档在这里
Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback);
由于$callback
回调函数还有get/post/any
等对request_method
的限制的存在,相比较我之前学的ThinkPHP,laravel的路由机制更自由更丰富。
路由调用控制器
文档在这里
Route::get('user/{id}', 'UserController@showProfile');
举个栗子
视图与模板引擎
视图存储地址在项目文件夹/resources/views
里面
当你把模板文件命名为*.blade.php
的时候,你就可以使用传说中laravel自带的模板引擎Blade 了。(反正又是第三方类库)
模型调用
这个坑我先放着,下周踩。数据库迁移我服。