PHP开发框架Laravel优点,Laravel5.3中文文档

假装没事ソ 提交于 2020-03-01 06:00:23

PHP开发框架Laravel优点

Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD和BDD,作为一个框架,它为你准备好了一切,composer是个php的未来,没有composer,PHP肯定要走向没落。
laravel最大的特点和优秀之处就是集合了php比较新的特性,以及各种各样的设计模式,Ioc容器,依赖注入等。因此laravel是一个适合学习的框架,他和其他的框架思想有着极大的不同,这也要求你非常熟练php,基础扎实。
如果你觉得laravel很困难 那么原因只有一个 你php基础不够好。
通常觉得Laravel难学且无用的开发者中,只会PHP一门语言,或者说,没有静态编译型语言(如C/C++/Java/Go等)使用经验的开发者占绝大多数。

路由和orm部分,和前端backbone之类的结合应该很契合,还是很不错的,另外composer是个很好东西,关于效率问题,web程序的运行效率从来就不在框架,而在数据库,框架那一点点消耗根本不会是什么负担。
laravel框架还是蛮不错的,可以说非常全面,配合phpstorm开发还是很好的。

===========================================

PS:Laravel 5.3 在2016年8月24日正式发布了,而且有中文版文档了(有些之前的中文网站还是5.1版本的,没有及时更新):

Laravel 5.3 中文文档 – Laravel学院
http://laravelacademy.org/laravel-docs-5_3

Laravel 5.3 版本中的新增特性主要集中在提升开发速度,通过增强常见任务的开箱即用功能提升开发效率。 Laravel 5.3 包含了一个全新的全局助手函数 cache(),这个函数能够让你更方便地获取缓存系统的实例对象。

学laravel需要先了解几个东西,laravel的authentication,authorize,middleware
这是基础,另外就是laravel的blade模板
学习laravel,千万不要看国内的翻译,一定要去原laravel.com上去学习
这个框架一开始接触会觉得有点门槛,其实学习之后觉得相当好,连需求测试都不需要的
当然,对程序员的编程水平要求高得多,需要深入骨髓的OOP思想,学熟悉了,你会发现自己的php水平上了几个档次了,具有更高的职场竞争力

总的来说Laravel适合做大项目,适合做java的程序员转过来学习php的。

Laravel - The PHP Framework For Web Artisans
https://laravel.com/
Installation - Laravel - The PHP Framework For Web Artisans
https://laravel.com/docs/5.3

Laravel 5.3 中文文档(含离线文档下载)

 

----------------------------
学习laravel,你会发现在学习过程中,你会学习到框架之外的更多知识
面对用TP的人的不理解,用Yaf的人的鄙视,用Yii的人的试探的目光
面对性能低下的问题你需要redis memcache opcache php7 hhvm 等等等优化性能的方案

--------------------------------
Laravel 框架的出现,将 PHP 的后端开发带入了一个新的高度,其中的 composer 和 PHP-FIG 等,标志着 PHP 已经不再仅仅是“前端语言”、“展示层语言”了。
PHP 的特点就是易于入门,而且 PHP 是一个语法大杂碎,汇集了 C Perl 等等,当年我学了半天时间,就可以拿来做网站了。

对于框架,大部分 PHPer 会首选 ThinkPHP 或者 CI。因为这几个框架的门槛和 PHP 的门槛很对口。如果像 Java 那样,学习半年才能做开发,大部分的 PHPer 是接受不了的。如果一个框架(比如 SSH)需要学习半个月才能上手,PHPer 们也接受不了,于是 TP 和 CI 框架大行其道。(PHP 界和 java的SSH 框架媲美的 ZendFramework 也被 PHPer 鄙视为大而无用)。

如果你仅仅是为客户写一个网站,那么即使原生的 PHP 也可以应付,如果想再提高点儿效率,可以选用 TP 或者 CI。

但是,如果你是为公司或者自己开发一个项目,这个项目准备运营五年以上,那么 CI 的弊端就凸现了。五年间,CI 估计都已经升级了 N 版了,PHP 也升级了 N 版了。你升级吗?

项目是在本地开发调试完成,当上线后遇到问题了,我们如何查找,如何跟踪呢?最通常的办法就是 log。现在几乎每个框架都有 log 功能,但是 Laravel 的又一强大之处就是他的 log 遵循 PHP-FIG,也就是以后你可以随意更换 log 的实现类以提高性能。这就好比我们的 PC,它上面都有 USB 接口,这样我们就可以任意更换 USB 设备,比如 USB 鼠标,USB 键盘,USB 硬盘等。而 Laravel 依据 PHP-FIG 标准提供日志接口,我们只需要更换实现。
Laravel 使用 composer 管理包依赖。使用 composer 不是为了调入,而是为了管理,管理包,以及各种包的版本。这样就解决了各种包的兼容问题。而在 composer 出现之前,PHP 依然没有有效的方法解决这些问题。

Composer 将工程化的思想带入了 PHP。
如果不使用第三方包的情况下,能加快多少开发速度呢?如果仅仅是开发速度,Laravel 无疑是低效的,笨重的。这显然和“世界上最好的语言”不相搭配。
但是如果你开发过大中型项目就会发现,编码(Coding)其实在整个项目阶段,连三分之一都占不到。再退一万步讲,开发周期也许是3个月,但是整个项目的生命周期确实3年啊。

在传统的 PHP 开发过程中,都是:编码,运行,调试改错,直到运行成功,然后打开浏览器,输入数据,点击执行,看结果,如果正确,再次输入数据,如果错误,修改,调试,再打开浏览器,重复,重复,知道自己满意为止。
我们也可以使用 PHPUnit测试,但想测试控制器、模型,则还需要一些黑魔法。如果在 SSH 中任何一个模块都可以单独拿出来进行单元测试。因为任何一个模块,都可以脱离 SSH 框架而单独运行。
在 SSH 中,我们可以把控制器拿出来,放到 JUnit 中测试控制器的功能。也可以把路由器模块拿出来,测试 URL 路由是否正确等。而在 PHP 的 CI 或者 TP 框架中,控制器不可能单独拿出来进行测试。
而 Laravel 对于 PHP 的工程化的另一个贡献就是——可测试性。

Laravel植根于测试,实际上,内置使用PHPUnit对测试提供支持是即开即用的,并且phpunit.xml文件已经为应用设置好了。框架还提供了方便的帮助方法允许你对应用进行富有表现力的测试。
tests目录中提供了一个ExampleTest.php文件,安装完新的Laravel应用后,只需简单在命令行运行phpunit来运行测试。
http://laravelacademy.org/post/238.html

--------------------------------
laravel性能肯定会差一点点的,现在有个lumen,是laravel的几倍

Lumen - 为速度而生的 Laravel 框架 - Laravel 中国
http://lumen.laravel-china.org/

Lumen 中文文档 – Laravel学院
http://laravelacademy.org/lumen-docs

Laravel 专属的极致体验
闪电一样的运行速度, 优雅的语法, 为你开发微服务架构和 API 应用时带来愉悦的体验

运行速度快到爆表
Lumen 是你构建微服务架构和 API 应用的完美解决方案, 事实上, 她是全宇宙最快的框架之一, 甚至要快过以速度著称的 Silex 和 Slim, 现在, 为你的 Laravel 应用程序编写微服务架构变得再简单不过了.

你最爱的 Laravel 强大功能
绝不牺牲功能和开发的愉悦性来换取速度, 你始终可以方便地使用 Laravel 功能, 如 Eloquent, 缓存系统, 队列系统, 认数据认证, 路由系统, 中间件 等, 并且不需要太多配置.
<?php
$app->get('user/{id}', function($id) {
return User::findOrFail($id);
});
无缝迁移, 要的就是灵活
如果有一天你的 Lumen 项目想使用全堆栈的 Laravel 框架, 因为 Lumen 是由 Laravel 的子模块组成的, 你不需要修改任何代码就能直接集成到 Laravel 里面.

为速度而生的 Laravel 框架
<?php
/**
* 超越你的期待
*/
$app->get('/', function() {
return view('lumen');
});
/**
* 重新定义微框架
*/
$app->post('framework/{id}', function($framework) {
$this->dispatch(new Energy($framework));
});

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!