这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战
之前写了一篇Laravel提高DB查询效率的文章,转发到群里后竟然有人质疑我说“Laravel是他好几年前用的框架,没想到现在还有人在用。”
纳尼,什么意思嘛?别忘了php是最好的语言!
个人认为Laravel是非常优雅的开发框架:优雅的设计模式、强大的功能实现、各种方便的扩展、持续的版本更新,更主要的是迄今为止我认为最优秀的技术开发社区。
我必须为Laravel打Call。
2020年9月8号,Laravel发布了8.0版本。 Laravel计划于2022年1月25日发布9.0版本。
下面我介绍一下目前Laravel最新版(8.0版本)的新特性:
Laravel的安装
服务器要求
Laravel 框架对系统有一些要求。所有这些要求 Laravel Homestead 虚拟机都能满足,因此强烈推荐你使用 Homestead 做为你的本地 Laravel 开发环境。 当然,如果你不使用 Homestead,请确保你的服务器满足以下要求:
- PHP >= 7.3
- BCMath PHP 拓展
- Ctype PHP 拓展
- Fileinfo PHP 拓展
- JSON PHP 拓展
- Mbstring PHP 拓展
- OpenSSL PHP 拓展
- PDO PHP 拓展
- Tokenizer PHP 拓展
- XML PHP 拓展
安装 Laravel
首先,使用 Composer 安装 Laravel 安装器:
composer global require laravel/installer
确保将 Composer 的全局 vendor bin 目录放置在你的系统环境变量 $PATH 中,以便系统可以找到 Laravel 的可执行文件。在不同的操作系统中,该目录的路径也不相同;下面列出一些常见的位置:
- macOS:
$HOME/.composer/vendor/bin
- Windows:
%USERPROFILE%\AppData\Roaming\Composer\vendor\binGNU /
- Linux 发行版:
$HOME/.config/composer/vendor/bin
或者$HOME/.composer/vendor/bin
您也可以通过运行 composer global about 命令查找并查看 Composer 的全局安装路径。 安装完成后,laravel new 命令会在你指定的目录创建一个全新的 Laravel 项目。例如 laravel new blog 将会创建一个名为 blog 的目录,并已安装好 Laravel 所有的依赖项:
laravel new blog
通过 Composer 创建项目
或者,你也可以在终端中运行 create-project 命令来安装 Laravel:
composer create-project --prefer-dist laravel/laravel blog
本地开发环境
如果你在本地安装了 PHP,并且你想使用 PHP 内置的服务器来为你的应用程序提供服务,则可以使用 Artisan 命令 serve。该命令会在 http://localhost:8000 上启动开发服务器:
php artisan serve
你也可以通过 Homestead 和 Valet 获得更加强大的本地开发能力。
配置
公共目录
安装完 Laravel 之后,你必须将 web 服务器根目录指向 public 目录。该目录下的 index.php 文件将作为所有进入应用程序的 HTTP 请求的前端控制器。
配置文件
Laravel 框架的所有配置文件都放在 config 目录中。每个选项都有注释,方便你随时查看文件并熟悉可用的选项。
目录权限
安装完 Laravel 后,你可能需要给这两个文件配置读写权限:storage 目录和 bootstrap/cache 目录应该允许 Web 服务器写入,否则 Laravel 程序将无法运行。如果你使用的是 Homestead 虚拟机,这些权限已经为你配置好了。
应用密钥
安装好 Laravel 之后,下一件应该做的事就是将应用程序的密钥设置为随机字符串。如果你是通过 Composer 或 Laravel 安装器来安装的 Laravel,那这个密钥已经为你通过 php artisan key:generate 命令设置好了。 通常来说,这个字符串的长度应为 32 个字符。密钥可以在 .env 环境配置文件中设置。前提是你已经把 .env.example 文件重命名为 .env。如果没有设置好应用密钥,你的用户会话和其他加密数据就不再安全!
其他配置
除了以上的配置,Laravel 几乎就不需要再额外配置些什么了。你随时就能开始开发!但是,可能的话,还是希望你查看 config/app.php 文件及其注释。其中包含了几个你可能想要根据你的应用来更改的选项,比如 timezone 和 locale。
Web 服务器配置
目录配置
Laravel 应该始终在您的 Web 服务器配置的「Web 目录」的根目录之外使用。您不应该尝试在「Web 目录」的子目录中使用 Laravel 应用程序。尝试这样做可能会暴露应用程序中存在的敏感文件。
优雅链接
Apache
Laravel 中包含了一个 public/.htaccess 文件,通常用于在资源路径中隐藏 index.php 的前端控制器。在用 Apache 为 Laravel 提供服务之前,确保启用了 mod_rewrite 模块,这样 .htaccess 文件才能被服务器解析。 如果 Laravel 附带的 .htaccess 文件不起作用,尝试下面的方法替代:
Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginx
如果你使用 Nginx ,在你的站点配置中加入以下配置,所有的请求将会引导至 index.php 前端控制器:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
当你使用 Homestead 或 Valet 时,优雅链接将会自动配置好。
华丽的分割线
要了解更多有关在Laravel的知识点,请查看我的专栏: 服务端开发从入门到精通
推荐阅读
-
竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(1)Laravel如何优雅的设置全局变量
-
竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(2)Laravel Jetstream和模型工厂类
-
竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(3)迁移压缩,队列批处理,改善速率限制
-
竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(4)维护模式优化
-
# 竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(5) 动态Blade 事件监听器优化 事件测试助手
-
竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(6)
Last but not least
技术交流群请到 这里来。 或者添加我的微信 wangzhongyang0601 ,一起学习。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!