php - 将库添加到 silex

标签 php silex

我知道这个问题已经被问过了,但是自动加载过程似乎随着 composer 发生了一些变化。

我只想向我的 silex 项目添加一个类库。

所以我制作了这个文件: 供应商\lib\picture.php

<?php
namespace MyNamespace;

class Picture
{
    function testage()
    {
        echo 'hihaaa ça marche'; exit;
    }
}

在 vendor/composer/autoload_namespaces.php 中,我将这一行添加到大数组中:

'MyNamespace' => $vendorDir . '/lib/',

在主文件中我添加了:

use MyNamespace\Picture as Picture;

并这样调用它:

$app->register(new Picture());

这给了我这个错误:

Fatal error: Class 'MyNamespace\Picture' not found...

我只是不知道如何在没有命令行的情况下轻松地添加一个我可以从任何 Controller 使用的类(我不使用 composer,我下载了预配置的 silex),知道吗?

最佳答案

如果您使用的是 Composer,则不应更改供应商目录。您不应向其中添加文件,也不应修改 Composer 生成的文件。

我建议您将这些类放入src 目录。 @gunnx 展示了如何在 composer.json 中配置自动加载,以便在每次运行 composer install 时重新生成它。

该文件位于 src/MyNamespace/Picture.php 中。 composer.json 中的自动加载配置为:

{
    "autoload": {
        "psr-0": { "MyNamespace": "src/" }
    }
}

实际的解决方案是前面两个答案的组合。但我认为确保细节正确很重要 ;-)。

关于php - 将库添加到 silex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11593120/

相关文章:

php - 中间件取消路由前的 Silex 应用程序

php - AngularJS 和 PHP 在每次请求时创建新的 Session

php - Doctrine 返回不同数组中的连接查询

php - 如何使用 php 从给定的视频 ID 获取 facebook 视频缩略图

php - curl OpenSSL错误141A318A tls_process_ske_dhe :dh key too small

php - 在 Android 应用程序中使用不同的帐户创建帐户

javascript - 无法解析有效的 JSON

php - Wordpress/Woocommerce 如何自定义 wc_display_item_meta

删除记录后PHP页面不会自动重新加载?

forms - Silex/Symfony2 后验证