laravel框架详解
一、基础篇 1、概念Laravel是一个有着美好前景的年轻框架,它的社区充满着活力,同时提供了完整而清晰的文档,而且为快速、安全地开发现代应用提供了必要的功能。2011年,Taylor Otwell首次将Laravel带给这个世界,彼时,Laravel就是一个全新且现代的框架。Laravel基于MVC,可以满足诸如事件处理、用户身份验证等各种需求,同时通过包管理实现模块化和可扩展的代码,并且对管理有着健壮的支持。不管是专家还是新手,一旦接触到Laravel,都会有之感——这正是你在为项目寻找的框架。 2、安装?1、找到安装包傻瓜式安装 ?2、composer安装 ?下载安装包命令:composer create-project laravel/laravelblog composer一般在项目中使用composer.json eg:require 关键字:哪些包是你项目所需要的 { ?? "require":{ ?????? "monolog/monolog":"1.0.*" ?? } } 安装命令:找到composer.json位置 执行安装命令 composer install 3、修改端口? php artisan serve? 命令? laravel(1)eg:php artisan serve?--prot =8080 (设置端口) (2)eg:php artisan make:model Article (建立model) 去看看你的 app 目录,下面是不是多了一个 Article.php 文件?那就是 Artisan 帮我们生成的 Model 文件 (3)eg:php artisan migrate(数据库的迁移) migration 是啥 打开 模拟插入数据 (4)模拟插入数据
4、入口文件、数据库连接、默认路由定义1、laravel 入口文件 public 下的index.php访问目录下public 这样laravel就跑起来了 2、连接数据库.env文件 DB_HOST=127.0.0.1DB_DATABASE=laravel5DB_USERNAME=rootDB_PASSWORD=root 详细见:http://blog.csdn/woshihaiyong168/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 (路由服务供应者) protected $namespace = 'AppHttpControllers'; 将路由空间指向了控制器位置 /** * Dispatch a request to a given controller and method. * * @param IlluminateRoutingRoute $route * @param IlluminateHttpRequest $request * @param string $controller * @param string $method * @return mixed */ public function dispatch(Route $route,Request $request,$controller,$method) { $instance = $this->makeController($controller); return $this->callWithinStack($instance,$route,$request,$method); // var_dump($controller); } 此方法就是传递路由中定义的控制器、方法 class HomeController extends Controller 所继承的Controller位置在 :
|