最新laravel框架分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Laravel框架初探光明网产品服务部PartOne•PHP框架概述011-1PHP框架概述框架是一堆代码的集合,这些代码里边有变量、常量、方法、函数、类。这些代码里边也有设计模式,例如:MVC、单例、AR、工厂。框架最大的特点的使得程序的业务逻辑与数据模型有分开。框架简介1-2PHP框架分类重量级:功能多、OOP面向对象、维护性好、生命力非常顽强•zendframework:zend公司官方框架,重量级的,功能非常丰富•Yii:xueqiang,qiang,重量级,OOP面向对象。功能丰富,外国人使用最多的框架。•cakephp:外国框架,功能较丰富。重量级,速度慢•symfony:外国重量级框架,功能丰富。轻量级:功能实用,面向过程和面向对象混合•CodeIgniter:轻量级框架,开发速度快•ThinkPHP:国人开发的一个轻量级框架、注释都是中文的。国人使用非常广泛。•Laravel介于两者之间框架分类1-3PHP框架使用统计各个框架受欢迎程度统计这是2015年3月一次框架使用情况的统计,在这次统计中laravel以其独特的优势遥遥领先PartTwo•laravel的安装022-1Composer的定义何为Composer:Composer是php的类依赖关系的管理器。出现背景:互联网上有千千万万的类库插件,每个插件来解决某个问题,但是这些插件分散在不同的官网、博客,非常难寻找,而且这些类库和插件不断在成长完善,一旦涉及到更新,那么就要到这些插件类库的官网去下载相应的最新版本。这样很麻烦。在这种情况下Composer应运而生。我们可以使用composer来使用和管理这些插件和类库,而且安装和更简单,只需要一条命令就可以轻松完成。2-1Composer的安装composer支持多系统比如苹果、linux、Windows多个平台Windows上的安装1、下载Composer-Setup.exe可执行程序、双击运行程序,点击next2-1Composer的安装3、是否安装右键快捷命令点击下一步next.4、选择php.exe的目录需要注意:•PHP环境:5.4+•PHP扩展:开启openssl扩展2-1Composer的安装5、执行下载composer(需要到外国服务器,有时候不稳定,可以使用代理)6、在cmd命令行执行composer命令如果看到帮助页面恭喜你安装成功请演示2-2安装laravel1、进入一个文件夹内执行(改文件夹是你选择的项目文件夹)2、执行一条命令安装laravelcomposercreate-projectlaravel/laravel--prefer-distmy_laravel3、开始安装依赖文件4、安装成功。2-2安装laravel然后配置虚拟主机1、注意虚拟主机一定要指定到安装目录的public目录下2、在linux系统下进行安装的一定要注意Storage和vendor的权限。可以使用Chown–Rapache:apachestorageChown–Rapache:apachevendor2-1安装laravel另一种安装方式是直接下载安装包进行安装1、到这个网站下载laravel一键安装包,选择相应的版本下载,比如我选择的v5.0.22版本进行安装,下载地址如下()2、下载好后选择相应的目录进行解压比如G:\laravel\laravel-v5.0.22然后使用cmd进入这个文件夹3、执行composerinstall命令就可以直接安装请演示2-2laravel目录Laravel的目录结构•(1)app目录:应用程序的主要目录,大部分工作都在这个目录下进行(控制器文件(app/http/controllers)、模型文件(app/)、路由文件(app/http/routes.php))•(2)config目录:记录了Laravel框架的常用配置文件信息•(3).env文件:Laravel框架全局配置文件•(4)database目录:数据库迁移migrate•(5)public目录:应用程序的入口文件,同时也是静态资源文件目录(css、javascript、images)•(6)resources目录:视图文件目录(resources/views)•(7)vendor目录:外部库目录(包含Laravel框架源代码)•(8)storage目录:缓存文件目录PartThreeLaravel的核心知识032-1laravel的路由路由的定义是:把用户的HTTP请求,交给指定的控制器或者方法来处理它。路由的功能是:宏观的分发和限制请求,用户的http请求要指定那个控制器方法来执行。路由不同于其他的框架,他最大的特点是可以定制。设置路由主要是在文件项目文件夹/app/Http/routes.php的文件下。2-1laravel的路由路由的设置基本上都是使用Route的静态类来设置路由的规则路由三种常见形式:1、HTTP请求的路由:Route::get('url信息','处理的逻辑地址或功能代码');Route::put('url信息','处理的逻辑地址或功能代码');Route::post('url信息','处理的逻辑地址或功能代码');Route::delete('url信息','处理的逻辑地址或功能代码');2、Resource路由:RESTful路由,url和控制器中的7个标准RESTful动作相绑定Route::resource(‘/','控制器名称');3、控制器路由:url和控制器中的所有动作(只需要按照指定的规范来编写动作即可)Route::controller('url相关信息','控制器名称');2-1laravel的路由路由的处理:路由的处理有两种形式把路由的处理交给控制器中的某个动作处理直接处理路由(使用闭包函数形式处理)路由的传参Route::get('view/{id}',function($id){return‘您传递的参数是’.$id;});传参get的第一个参数指定参数的一个占位,然后在控制器或者闭包函数中接受参数注意:如果是参数设置为默认的,可传递可以不传递那么设置方法如下Route::get('view/{id?}',function($id=‘1’){return‘您传递的参数是’.$id;});在第一个参数中占位符后加一个?然后在闭包函数或者控制器方法中给一个默认值2-1laravel的路由路由的设置基本上都是使用Route的静态类来设置路由的规则1、get方式设置Route::get(‘/’,’WelcomeController@index’);第一个参数为用户访问的地址,第二个是指定处理的方法,可以使控制器中的方法也可以使一个闭包函数Route::get(‘/’,function(){return‘welcome’;});用户访问根目录是,请求为WelcomeController控制器下的index方法2-12、POST方式设置Route::post(‘/test’,’WelcomeController@dopost’);form表单带着数据传递到域名/test,时交给WelcomeController控制器的dopost的方法进行处理其中第一个参数可以直接不写’/’直接写test要注意在laravle中有默认的验证跨域提交的机制需要在表单中定义一个input隐藏inutinputtype=‘hidden’name=‘_token’value=‘{{csrf_token()}}’3、anyRoute::any(‘/test2’,’WelcomeController@anyhttp’);无论什么样的请求都可以过去4、使用Route::resource('url相关信息','控制器名称');这种方法一定义就规定起个标准的路由设置,这种方法不建议使用,因为实际开发过程中可能遇到各种情况,标准的情况很多时候不适用。laravel的路由2-1控制器控制器是请求的二级分发者,一条请求如果通过路由。如果通过路由那么到达控制器那么请求交给控制器,进行处理,然后做出相应。创建控制器1、手动创建可以复制一个控制器,然后去修改,控制器位于app/Http/Controllers/目录下控制器的命名规范,字母的首字母大写,比如建一个my的控制器名称为MyController,在此控制器中需要继承Laravel框架的控制器.2、命令行创建在命令行下进入laravel的项目目录下执行如下的命令,phpartisanmake:controller控制器名phpartisanmake:controllerMyController这样就创建好了一个包含有基本方法的控制器2-1控制器当使用artisan命令创建好控制器后,控制器中已经为我们提供了一些基本方法(7个);本质上这7个方法就是标准RESTful形式URL。如果不想这样这些资源方法可以使用phpartisanmake:controllrtMyController--plain的方法来生成控制器。这个基本的方法如何绑定呢,使用Route::resource(‘restfull’,’MyController’);其他控制器如何绑定呢:在路由控制器文件app/http/route.php的route的静态方法的第二个参数进行绑定控制器和方法之间使用@标示控制器调用其中的index的方法,例如:Route::post('rec','RecController@dopost');动词路径行为路由名称GET/photo索引photo.indexGET/photo/create创建photo.createPOST/photo保存photo.storeGET/photo/{photo}显示photo.showGET/photo/{photo}/edit编辑photo.editPUT/PATCH/photo/{photo}更新photo.updateDELETE/photo/{photo}删除photo.destroy2-1视图视图:处理结果的可视化,用户的请求的相应的展现形式。视图使用view函数。View的文件放在app/resource/views的文夹下,视图的扩展名一般为视图文件名.blade.php视图一般是在控制器的方法中使用到。也可以将视图写在路由中,仅仅测试用。Route:(‘/view’,function(){returnview(‘viewtest’);//其实view(‘模板文件名’)只是view::make(‘模板文件名的一个简化方法’);});在控制器中创建,比如在app/http/controllers中的控制器MyController中注意要访问此控制器那么要注册路由Route:(‘/my’,’MyController@showview’)publicfunctionshowview(){returnview(‘my.viewtest’);}上面view方法的.表示在my这个文件夹下的viewtest视图那么在app/resources/views/my/文件夹下建立viewtest.blade.php的视图文件2-1视图向视图中传递参数(1)传统形式:view(‘视图文件’)-with(‘key’,‘value’);//key为变量名value为变量值传递多个值view(‘视图文件’)-with([‘key’=‘value’,’key2’=’value2’]);//(2)魔术方法形式:view(‘视图文件’)-withKey2Name(‘value’);也可以使用魔术方法(3)将参数的数组作为view的第二个参数传递先定义参数数组$d

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功