从PHP应用程序构建PHAR文件时需要考虑的是什么,使用像Laravel这样的PHP框架



我是php开发人员使用laravel-4作为构建Web应用程序的框架,最近几天我想从在laravel框架上创建的Web应用程序创建phar文件。

我在网上搜索了构建php存档文件(.phar)的工具,我发现PHP框,这个工具非常好,使用json配置文件来构建phar文件,但我不能使用它来创建我的phar文件,因为在从Web应用程序创建phar文件时有很多注意事项,使用像laravel这样的框架。我的问题是:

Laravel使用作曲家自动加载器作为自动加载机制

1-如何处理作曲家自动加载机制?

2- 如何处理框架引导过程? "像拉拉维尔"

3-我需要什么才能使浏览器从phar文件内部读取我的索引页?

4-如何使用phar文件中的框架命令行工具? "像拉拉维尔工匠"

你可以在应用程序中使用 composer.json,并在那里需要框。当你的应用程序在 laravel 上运行时,你知道你的引导程序可以工作,也可以在 phar 中工作。

我相信Box带来了很多作曲家自己的东西,所以你不会遇到麻烦。我认为class_map会自动包含在内。

要考虑的一件事是,必须传入配置详细信息!

通常,您需要"转发"到位于 phar 内部的应用程序,如下所示:

<?php
require_once "phar://myapp.phar/frontcontroller.php"; // maybe index.php
$config = array('dsn' => 'database-config');
Application::run($config);

在 PHAR 中访问 PHAR 也是一个问题!

您无法直接访问打包在 PHAR 中的 PHAR。首先,您需要提取打包的 PHAR,其次执行转接调用并传递 CLI 命令。这里解决的问题:https://stackoverflow.com/a/13537329/1163786

完整示例

box.json.dist

{
  "main": "bootstrap.php",
  "output": "application.phar",
  "compactors": ["Herrera\Box\Compactor\Composer"],
  "chmod": "0755",
  "directories": ["src/"],
  "stub": true
}

引导程序.php

<?php
require 'vendor/autoload.php'; //<-- this is autoload.php generated by Composer
use MyAppApplication;
$config = parse_ini_file(__DIR__.'/config.ini');
$app = new Application();
$app->run($config);

相关内容

  • 没有找到相关文章

最新更新