Author: admin

Symfony 6: PHP 8 Native Types & 为什么我们需要你

Symfony 2.0 以来,Symfony 的最大变化即将到来,这是一个非常激动人心的时刻:Symfony 6 在其所有可能的方法上都具有原生 PHP 类型。这将极大地推动 PHP 开源社区中的类型安全!Nicolas和 Alexander已经断断续续地工作了 2 年,以创造可能的最佳升级体验。
现在,距离稳定版发布还有 2.5 个月,是大放异彩的时候了!特别是如果您维护任何开源项目(甚至没有直接链接到 Symfony),我们很乐意听取您的意见,以确保升级不会非常困难。

        

laravel 如何覆盖composer的 vendor类文件?

作为 Laravel 开发人员,你可能遇到过这样的情况:你不喜欢 vendor 文件夹某个包中的某些代码,并且想要更改它。你可以直接在该文件中更改它。但问题是当你点击composer update命令升级包时很容易覆盖已修改的vendor类文件。
那么有什么解决办法呢?
感谢Composer,它具有覆盖任何包/类的功能。Composer 使用PSR-4来加载类。因此,在 composer.json 中,你可以提及从哪些文件或文件夹加载类。同样你也可以排除加载它。

操作步骤:

windows用户

排除文件

请参考下面的示例以了解我如何从包tymon/jwt-auth 中排除 1个文件

"exclude-from-classmap": ["vendor\\tymon\\jwt-auth\\src\\Middleware\\BaseMiddleware.php"],

在上面的例子中可以看出我已经排除了BaseMiddleware.php文件。你必须将此行放在composer.json的autoload段中。这里要注意的一件事是,我在路径中有双反斜杠,那是因为在 Windows 机器上,并且因为它是 JSON 文件,所以我必须在那里转义 (\) ,即写上双反斜杠。

包含文件以覆盖vendor

现在我们已经排除了我们想要覆盖的文件,现在需要包含有更改的新文件,以便 composer 知道要包含哪些文件。

为此,向 composer.json 中的 'psr-4' …

        

如何优化symfony(PHP)的性能

Symfony 很快,开箱即用。但是,如果按照以下性能检查表中的说明优化服务器和应用程序,则可以加快速度。

性能优化清单

使用这些清单来验证您的应用程序和服务器是否已配置为获得最高性能:

    

使用 NGINX 将环境变量注入静态网站

静态站点生成非常适合发布文档。在最近的一个项目中,我们选择使用 NGINX 作为 Web 服务器来托管 HTML 和 CSS 文件。但是,我们还希望使用 SSO 保护站点。这就是事情变得有点困难的地方。

当然,当使用 HTTP 基本身份验证以外的 SSO 机制时,我们需要向用户显示“退出”按钮。但是当与静态站点生成 (SSG) 结合使用时,我们还不知道注销 URI,因为它可能取决于部署的特定配置。

为了实际渲染按钮,我们面临两个选择:

  1. 不在 CI 中运行 SSG 工具,而是在 Docker 容器启动时运行。
  2. 呈现没有 URI 的链接,并让 Web 服务器在运行时注入它。

在我们的例子中,SSG 工具是 Jekyll,所以添加它的整个 Ruby 工具链会违背使用 NGINX 的目的:尽可能轻量级。此外,这个巨大的图像会创造更多的攻击面。[1]