laravel特点:1、“artisan”命令行工具,可以自动化完成手动的工作;2、“migration”管理数据库和版本控制;3、测试功能也很强大;4、适合应用各种开发模式tdd、ddd和bdd;5、支持composer包管理工具。
laravel是一套简洁、优雅的php web开发框架(php web framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络app,而且每行代码都可以简洁、富于表达力。
在laravel中已经具有了一套高级的php activerecord实现 -- eloquent orm。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到activerecord的所有便利。eloquent原生支持fluent中查询构造器(query-builder)的所有方法。
推荐视频教程:《php教程》
功能特点
1、语法更富有表现力
你知道下面这行代码里 “true” 代表什么意思么?
$uri = url::create(‘some/uri’, array(), array(), true);
另外,你知道其他参数在这里的意思么(除了第一个)?当然你不知道。因为这行代码没有表现力。
再看看这段代码:
$url = url::to_secure(‘some/uri’);
这个表达式使用https协议创建了一条url链接, 事实上,上面两种写法都在做同样的事情,但哪一个更一目了然,更富有表现力呢?
2、高质量的文档
laravel 有一个非常棒的的社区支持。laravel代码本身的表现力和良好的文档使php程序编写令人愉快。
3、丰富的扩展包
bundle是laravel中对扩展包的称呼。它可以是任何东西 -- 大到完整的orm,小到除错(debug)工具,仅仅复制&粘贴就能安装任何扩展包!laravel的扩展包由世界各地的开发者贡献,而且还在不断增加中。
4、开源、托管在github上
laravel是完全开源的。所有代码都可以从github上获取,并且欢迎你贡献出自己的力量。
技术特点
1、bundle是laravel的扩展包组织形式或称呼。laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“artisan”自动安装。
2、应用逻辑(application logic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和sinatra框架类似。laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。
3、反向路由(reverse routing)赋予你通过路由(routes)名称创建链接(uri)的能力。只需使用路由名称(route name),laravel就会自动帮你创建正确的uri。这样你就可以随时改变你的路由(routes),laravel会帮你自动更新所有相关的链接。
4、restful控制器(restful controllers)是一项区分get和post请求逻辑的可选方式。比如在一个用户登录逻辑中,你声明了一个get_login()的动作(action)来处理获取登录页面的服务;同时也声明了一个post_login()动作(action)来校验表单post过来的数据,并且在验证之后,做出重新转向(redirect)到登录页面还是转向控制台的决定。
5、自动加载类(class auto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,laravel会自动帮你加载需要的文件。
6、视图组装器(view composers)本质上就是一段代码,这段代码在视图(view)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情laravel会帮你自动完成。
7、反向控制容器(ioc container)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(ioc)意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。
8、迁移(migrations)就像是版本控制(version control)工具,不过,它管理的是数据库范式,并且直接集成在了laravel中。你可以使用“artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移指令即可,好了,你的数据库已经是最新的了!
9、单元测试(unit-testing)是laravel中很重要的部分。laravel自身就包含数以百计的测试用例,以保障任何一处的修改不会影响其它部分的功能,这就是为什么在业内laravel被认为是最稳版本的原因之一。laravel也提供了方便的功能,让你自己的代码容易的进行单元测试。通过artisan命令行工具就可以运行所有的测试用例。
10、自动分页(automatic pagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页,只要从数据库中获取总的条目数量,然后使用limit/offset获取选定的数据,最后调用‘paginate’方法,让laravel将各页链接输出到指定的视图(view)中即可,laravel会替你自动完成所有工作。laravel的自动分页系统被设计为容易实现、易于修改。虽然laravel可以自动处理这些工作,但是不要忘了调用相应方法和手动配置分页系统哦!
推荐教程:《laravel》
以上就是laravel 特点有哪些?的详细内容。