本教程操作环境:windows7系统、Laravel6&&PHP7.1版、Dell G3电脑。
php是什么
PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。
PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。
PHP同时支持面向对象和面向过程的开发,使用上非常灵活。
PHP语言作为一种高级语言,其特点是开源, 在设计体系上属于C语言体系,它可以让很多接受过高等教育的初学者能很快接受并完成入门学习,简单好上手容易找工作自然粉丝多。如果数据量大及访问压力大,可以集成redis、mysql分表分区分库、elasticsearch搜索引擎、消息队列写保护和php系统分布式集群部署等技术方案,缓解数据存储、服务访问和数据检索带来的巨大压力。
无论是大中小型项目,PHP都是一个十分适合的高级编程语言,是否适合就看项目研发团队的对它的掌握程度。 但是对于较大的和更为复杂的项目,最常见的php-fpm编程模式就显出它的薄弱了。
针对PHP-fpm暴露出的一系列缺点问题,最简单靠谱的方案就是及时升级兼容PHP的高版本,PHP7.0.0对比PHP5.6性能提升了2倍,另外PHP7.4提供的Preloading预加载机制实现了部分程序常驻内存,获取了不错的性能提升,在PHP8又提供了高效的JIT (Just-In-Time即时编译)运算支持。
另外水平更高的开发者可以转向难度更高的php-cli编程,它能解决大部分的系统性能问题,无论是PHP7和PHP8都支持这种模式的编程。
laravel是什么
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。
由于 Laravel 具备 Rails 敏捷开发等优秀特质,深度集成 PHP 强大的扩展包(Composer)生态与 PHP 开发者广大的受众群,让 Laravel 在发布之后的短短几年时间得到了极其迅猛的发展。我们通过 Google Trends 提供的趋势图(图 1.1)可以看出,Laravel 框架在过去七年,其增长速度在各类 PHP 框架中都是有史以来最快的,这也从正面直接反映出了 Laravel 的强大,以及其未来非常可观的发展前景。
为何 Laravel 如此受欢迎?
一个优秀的工程师在构建一个语言框架时,应该懂得如何去协调好框架和语言之间的关系,并借助前人的智慧来思考框架的合理性与可扩展性。Laravel 的作者 Taylor Otwell 无疑做到了这一点。
资深的 Web 开发应该都听过一个叫 Ruby on Rails(简称 Rails)的知名 Web 开发框架。Rails 是基于 Ruby 语言构建的一个 Web 开发框架,该框架有以下原则:
强调与注重敏捷开发;
约定高于配置(Convention over configuration);
DRY(Don’t repeat yourself)不要重复自己,提倡代码重用;
重视「编码愉悦性」。
自诞生之日起,Rails 便受到了技术社区的广泛关注与讨论。而 Laravel 正是由于结合了 Rails 框架的这几项优秀特质,才使得其在 PHP 社区中备受推崇。