[计算机软件及应用]Laravel入门中文手册.doc
《[计算机软件及应用]Laravel入门中文手册.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]Laravel入门中文手册.doc(113页珍藏版)》请在三一办公上搜索。
1、Laravel中文手册前言欢迎阅读Laravel文档。这份文档既可以作为入门指南,也可以作为Laravel功能特色的参考手册。如果你迫不及待想要开始Laravel之旅的话,可以直接跳到你想看的章节,不过,我们还是强烈建议你按顺序阅读这份文档,这样能让你循序渐进的打好基础,而且,每一章节都是后后续章节的基础。使用Laravel将是一种享受!Laravel是一套功能强大的PHP开发框架,并且着重于灵活性和语法的表现力。对于初学者,Laravel像其他流行、轻量级框架一样易学、易用;对于经验丰富的同学,Laravel能让你体验代码模块化的好处。Laravel的灵活性能让你随心所欲的更新、重构你用应用
2、;Laravel富于表现力的语法能让你或你的团队的代码简洁、容易阅读。Laravel优于其它PHP框架Laravel在很多方面优于其它框架,以下列出的就是其中的一部分: Bundle是Laravel的扩展包组织形式或称呼。Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“Artisan”自动安装。 在Laravel中已经具有了一套高级的PHP ActiveRecord实现 - Eloquent ORM。它能方便的将“约束(constraints)”应用到关
3、系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。 应用逻辑(Application Logic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和Sinatra框架类似。Laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。 反向路由(Reverse Routing)赋予你通过路由(routes)名称创建链接(URI)的能力。只需使用路由名称(route name),Larav
4、el就会自动帮你创建正确的URI。这样你就可以随时改变你的路由(routes),Laravel会帮你自动更新所有相关的链接。 Restful控制器(Restful Controllers)是一项区分GET和POST请求逻辑的可选方式。比如在一个用户登陆逻辑中,你声明了一个get_login()的动作(action)来处理获取登陆页面的服务;同时也声明了一个post_login()动作(action)来校验表单POST过来的数据,并且在验证之后,做出重新转向(redirect)到登陆页面还是转向控制台的决定。 自动加载类(Class Auto-loading)简化了类(class)的加载工作,以
5、后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,Laravel会自动帮你加载需要的文件。 视图组装器(View Composers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情Laravel会帮你自动完成。 反向控制容器(IoC container)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(IoC)
6、意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。 迁移(Migrations)就像是版本控制(version control)工具,不过,它管理的是数据库范式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移指令即可,好了,你的数据库已经是最新的了! 单元测试(Unit-Testing)是Laravel中很重要的部分。Laravel自身就包含数以百计的测试用例,以保障
7、任何一处的修改不会影响其它部分的功能,这就是为什么在业内Laravel被认为是最稳版本的原因之一。Laravel也提供了方便的功能,让你自己的代码容易的进行单元测试。通过Artisan命令行工具就可以运行所有的测试用例。 自动分页(Automatic Pagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页,只要从数据库中获取总的条目数量,然后使用limit/offset获取选定的数据,最后调用paginate方法,让Laravel将各页链接输出到指定的视图(View)中即可,Laravel会替你自动完成所有工作。Laravel的自动分页系统被设计为容
8、易实现、易于修改。虽然Laravel可以自动处理这些工作,但是不要忘了调用相应方法和手动配置分页系统哦!上面提到的只是Laravel优于其它框架的几点。在这份文档中包含了Laravel所有的特性和更多优点。安装与设置目录 要求 安装 服务器配置 基本设置 环境设置 友好的链接安装要求 Apache, nginx, 或者其他web服务器。 Laravel 框架应用了很多PHP 5.3版才具备的强大的新特性,所以你必须安装PHP5.3或者以上版本。 Laravel 使用FileInfo库来检测mime类型。PHP 5.3版已经默认包含了FileInfo库。Windows用户需要在php.ini中启
9、用该模块。关于FileInfo库的更多信息请阅读:installation / configuration details on PHP.net。 Laravel 使用Mcrypt库 来加密和生成哈希。PHP 5.3已经预装了Mcrypt库。如果你在phpinfo()中没有找到Mcrypt已经启用的信息,请检查你的服务器环境是否安装完全,或者查看PHP手册中 Mcrypt库有关信息。安装1 下载 Laravel2 解压Laravel压缩包,然后上传文件到你的web服务器。3 在config/application.php中设置application key,你可以设置为任意的32位字符串。4
10、确保storage/views目录具有写入权限。5 现在你可以尝试在浏览器中运行框架。如果不出意外,你应该看到了Laravel漂亮的初始页面。一切准备就绪,我们可以继续Laravel学习之旅!选装程序如果你想充分了解和学习Laravel框架的应用,推荐你安装以下程序: SQLite, MySQL, PostgreSQL, 或者 SQL Server PDO driver. Memcached 或者 APC.安装遇到问题?如果你在安装过程中遇到了问题,可以检查以下情况: 请确保public文件夹是服务器的根目录,如果不是,你可以尝试访问Laravel的public文件夹,如http:localh
11、ost/public/。 如果你启用了mod_rewrite拓展,请把application/config/application.php文件中的index参数设置为空。 请确保服务器的storage目录及其子目录具有写入权限。服务器配置就像大部分的web开发框架一样,Laravel的设计也考虑了代码和存储安全的问题,Laravel框架只把允许公众访问的文件放在web服务器的根目录(DocumentRoot),这样可以有效的防止因为服务器的设置错误而泄露重要的代码和信息资料。稳定压倒一切!下面的案例中,我们假定把Laravel安装到 /Users/JonSnow/Sites/MySite 目录
12、。这对MySite的Apache虚拟主机的基本配置如下: DocumentRoot /Users/JonSnow/Sites/MySite/public ServerName mysite.dev注意,虽然安装目录是 /Users/JonSnow/Sites/MySite ,但是DocumentRoot配置项必须指向 /Users/JonSnow/Sites/MySite/public 目录。将DocumentRoot指向public目录是一条通用的最佳实践方法,但是某些主机是不允许改变DocumentRoot配置的,没关系,人民的力量是无穷无尽的,Laravel论坛里收集了一系列有用的方法。
13、基本设置Laravel框架的所有配置文件都存放在应用程序的config文件夹中,建议你把所有的配置文件都看一下,对应用程序的设置可以有一个基本的了解。你应该注意一下application/config/application.php文件,它包含了应用程序的基本设置。在开发或者启用网站之前,你应该首先修改application/config/application.php中的application key。Laravel会用它来加密或者生成哈希。你可以手动设置一个32位的随机字符串,也可以使用Laravel提供的Artisan命令行工具来生成一个符合标准的字符串。有关Aartisan工具的信息可
14、以访问 Artisan命令列表。注意: 如果你启用了mod_rewrite,你应该把index参数设置为空。环境设置通常情况下,应用程序的开发环境和正式生产环境的设置是不同的,Laravel使用的URL机制可以让你轻而易举的解决这个问题。打开Laravel框架的安装目录下的 paths.php 文件,你可以看到下面的数组:$environments = array( local = array(http:/localhost*, *.dev),);这个数组表示任何以localhost开头或者以*.dev结尾的请求,都被视为local环境。然后,建立application/config/loca
15、l文件夹,那么local文件夹下面的任何设置都会覆盖application/config中的基本设置。举个例子,你希望在新建的local目录中创建一个application.php文件:return array( url = http:/localhost/laravel/public,);在这个例子中,local中的URL设置会覆盖application/config/application.php文件中的URL设置。需要注意的是,你只需要指定那些你想要覆盖的设置。Laravel的环境设置就是这么简单,你可以用它来创建你需要的环境。友好的链接通常情况下,你不想index.php出现在网站的链
16、接中,那么你可以用rewrite重定向来去掉index.php。如果你使用的是Apache服务器,请启用mod_rewrite模块,然后在你的public目录创建一个.htaccess文件,内容如下: RewriteEngine on RewriteCond %REQUEST_FILENAME !-f RewriteCond %REQUEST_FILENAME !-d RewriteRule (.*)$ index.php/$1 L如果上面的.htaccess文件没有效果,可以试试下面的写法:Options +FollowSymLinksRewriteEngine onRewriteCond
17、%REQUEST_FILENAME !-fRewriteCond %REQUEST_FILENAME !-dRewriteRule . index.php L在设置了重定向之后,你还应该把application/config/application.php中的index参数设置为空。注意: 不同服务器的rewrite方法有所不同,请根据具体情况配置。路由目录 基础 通配符(Wildcards) 404事件(The 404 Event) 过滤器(Filters) 模式过滤器(Pattern Filters) 全局过滤器(Global Filters) 路由组(Route Groups) 命名路由
18、(Named Routes) HTTPS路由(HTTPS Routes) 扩展包路由(Bundle Routes) 控制器路由(Controller Routing) 命令行路由测试(CLI Route Testing)基础Laravel充分利用PHP 5.3的特性,使路由变得简单并富于表达性。这使得从构建API到完整的web应用都变得尽可能容易。路由的实现代码在 application/routes.php 文件。和其它框架不同,应用逻辑在Laravel中可以通过两种方式集成。虽然在控制器(controllers)中实现业务逻辑是普遍的做法,但是在Laravel中也可以直接在路由中嵌入应用逻
19、辑。这种方式尤其适用于只有几个页面的小型网站,这样就免去了创建一大堆控制器(controllers),还要为每个控制器创建一些不相干的方法(methods),而最后只是一部分方法(methods)通过手动设置路由的方式被暴露出来。在下面的代码示例中,第一个参数(parameter)是你“注册”的路由(route),第二个参数是这个路由将要触发的函数(function),函数中包含了应用逻辑。定义路由时不需要开头的斜线(front-slash),唯一的例外是默认路由(default route)只包含一个斜线(front-slash)。注意: 路由的权重在于其被注册的先后顺序。 因此,任何通配(
20、catch-all)的路由应该在 routes.php 文件的底部注册注册一个响应 GET / 的路由:Route:get(/, function() return Hello World!;);注册一个能同时响应(GET、POST、PUT、DELETE)HTTP请求方法(HTTP verbs)的路由:Route:any(/, function() return Hello World!;);注册响应其它HTTP请求方法(HTTP verbs)的路由:Route:post(user, function() /);Route:put(user/(:num), function($id) /);R
21、oute:delete(user/(:num), function($id) /);注册一个能响应多个HTTP请求方法(HTTP verbs)的路径(URI):Router:register(array(GET, POST), $uri, $callback);通配符(Wildcards)强制路径(URI)中的某部分为数字:Route:get(user/(:num), function($id) /);允许路径(URI)中的某部分是字母、数字串:Route:get(post/(:any), function($title) /);允许路径(URI)中的某部分是可选的:Route:get(pag
22、e/(:any?), function($page = index) /);404事件(The 404 Event)如果一个请求(request)不能匹配任何一个路由,404事件将被触发。在 application/routes.php 文件中可以找到默认的事件处理代码。默认的404事件处理代码Event:listen(404, function() return Response:error(404););你可以按照你自己的需求定制这部分代码!延伸阅读: 事件(Events)过滤器(Filters)过滤器(filters)可以在路由之前或之后触发。如果在路由之前触发的过滤器(filters)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件 应用 Laravel 入门 中文 手册
链接地址:https://www.31ppt.com/p-4561575.html