初识Laravel,laravel


#缘由

这两天,我在做一个小活儿的一个小功能,想想反正现在时间不急,我就尝试一下新的工具,Laravel。

#Laravel官网截图:

#Laravel哲学

Laravel是一套web应用开发框架,它具有富于表达性且简洁的语法。我们相信,开发过程应该是愉悦、创造性的体验。Laravel努力剔除开发过程中的痛苦,因此我们提供了验证(authentication)、路由(routing)、session和缓存(caching)等开发过程中经常用到的工具或功能。

Laravel的目标是给开发者创造一个愉快的开发过程,并且不牺牲应用的功能性。快乐的开发者才能创造最棒的代码!为了这个目的,我们博取众框架之长处集中到Laravel中,这些框架甚至是基于Ruby on Rails、ASP.NET MVC、和Sinatra等开发语言或工具的。

Laravel是易于理解并且强大的,它提供了强大的工具用以开发大型、健壮的应用。杰出的IoC、数据库迁移工具和紧密集成的单元测试支持,这些工具赋予你构建任何应用的能力。

#我的体验

后台管理系统工作量比较大,我就准备规划好数据库,先做前台了。

于是,精彩的地方到了,我就在YouTube随意搜了一下(你没有看错,就是Youtube!教育网内可以直接访问了!只要有ipv6连接,就可以直接访问,不需要VPN不需要代理不需要GoAgent不需要专用dns甚至都不需要hosts文件。

我按照这个视频来做,发现总是不成功,后来发现这是一个sublime插件 Laravel Generator。装上插件,发现插件需要PHP5.4,而我虽然5.3 5.4 5.5都装了,但是在本地开发还是一直用5.3,因为目前我管理的所有的服务器都是5.3的。为什么要求5.4?这还用问吗,大量使用 [ ] 方式定义数组。搞了一大通,终于可以开始做了。

奇迹就是在这个时候发生的!一个小时以内,从数据库都没规划的状态,到了一个完整的前台页面,依赖数据库、包含foreach循环、使用Bootstrap流式布局、可发布的完整页面就出现了!我还在群里吼了一声,Laravel生产力真是太高了!

#结语

从0点左右出来第一个前端页面,到03:40左右做完,我边学边做,边查文档边做,一个小项目的一个小功能就这样完成了,算是超越了我之前用CI的生产力了。后续再给大家分享吧。


什是Laravel?

它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。1、Bundle是Laravel的扩展包组织形式或称呼。Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“Artisan”自动安装。2、在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。3、应用逻辑(Application Logic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和Sinatra框架类似。Laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。4、反向路由(Reverse Routing)赋予你通过路由(routes)名称创建链接(URI)的能力。只需使用路由名称(route name),Laravel就会自动帮你创建正确的URI。这样你就可以随时改变你的路由(routes),Laravel会帮你自动更新所有相关的链接。5、Restful控制器(Restful Controllers)是一项区分GET和POST请求逻辑的可选方式。比如在一个用户登陆逻辑中,你声明了一个get_login()的动作(action)来处理获取登陆页面的服务;同时也声明了一个post_login()动作(action)来校验表单POST过来的数据,并且在验证之后,做出重新转向(redirect)到登陆页面还是转向控制台的决定。6、自动加载类(Class Auto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,Laravel会自动帮你加载需要的文件。7、视图组装器(View Composers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情Laravel会帮你自动完成。8、反向控制容器(IoC container)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(IoC)意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。9、迁移(Migrations)就像是版本控制(version control)工具,不过,它管理的是数据库范式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移指令即可,好了,你的数据库已经是最新的了!11、自动分页(Automatic Pagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页......余下全文>>
 

laravel中的$this['key']形式原理

laravel没概念 $this['key']这个写法不很通用的么 像php数组
32, "2"=>30, "3"=>34);
echo $arr['1'];
?>
$this 当前的一个数组 或类吧 $this['key']是更据key获取value 很合理啊 还是其他意思?
 

09-18 09:44