【问题标题】:Adding composer into Codeigniter将作曲家添加到 Codeigniter
【发布时间】:2017-01-07 06:05:19
【问题描述】:

我使用 Codeigniter 已经有一年了,最近我也开始学习 Laravel,我注意到在你的框架中拥有一个作曲家确实可以在很多方面帮助你。

我注意到 Codeigniter 3 在 config.php 文件中有这个选项来添加一个作曲家。

$config['composer_autoload'] = TRUE;

所以我正在考虑在我的 CI 中添加一个作曲家。

在 CI 中添加 Composer 是最佳做法吗?

它的目录结构应该是什么?它是否可以与 CI 顺利配合?

【问题讨论】:

    标签: php codeigniter composer-php


    【解决方案1】:

    这就是我在 CodeIgniter 3 中实现作曲家的方式。非常简单。你必须在你的机器上安装作曲家,我认为你有它,因为你使用 laravel。

    • 首先将项目文件夹中的composer.json文件复制粘贴到应用文件夹中
    • config.php文件中的第二个$config['composer_autoload'] = TRUE;

    现在您的项目中有作曲家了。我会看到一个例子,比如如何使用 composer 安装 mpdf

    1. 打开 cmd 并指向应用程序文件夹
    2. 在应用程序目录内键入composer require mpdf/mpdf

    现在将在应用程序文件夹和供应商内部创建一个供应商文件夹 文件夹,您可以看到 composer 下载的所有包。

    既然你现在自动加载了composer,你就可以使用mpdf官方手册给出的代码,比如

    function m_pdf()
    { 
        $mpdf = new mPDF();
    
        // Write some HTML code:
        $mpdf->WriteHTML('Hello World');
    
        // Output a PDF file directly to the browser
        $mpdf->Output();
    }
    

    您可以像这样非常简单地安装 https://packagist.org/ 中的任何软件包,例如 mpdf。请记住,您不需要输入 require_once APPPATH.'/vendor/mpdf/mpdf/mpdf.php';因为你已经自动加载作曲家了。如果不喜欢自动加载作曲家,则必须在使用 mpdf 供应商库的每个控制器的开头键入 require_once APPPATH.'/vendor/mpdf/mpdf/mpdf.php'。

    【讨论】:

    • 感谢您的回答,我一定会照顾好它。主要是我正在研究图像处理功能。我认为作曲家确实在帮助我在 CI 中使用该图像处理包。安装后我会回复你的。再次感谢先生的回答。
    【解决方案2】:

    根据我的经验,最好的方法是安装独立于 CodeIgniter 的作曲家和依赖项,例如“composer require”,然后允许访问基本控制器中的包。 将文件 MY_Controller.php 添加到 application/core 文件夹并使其扩展 CI_Controller。然后在顶部添加 require_once(APPPATH . 'vendor/autoload.php') 。让你所有的控制器扩展这个基类,你就可以访问你所有的包。如果您想在模型中访问它们也是如此。制作基类 MY_Model.php

    【讨论】:

    • 感谢您的回复。 @Fatemeh majd 。我正在考虑使用 composer 来制作更先进、更有效的产品。
    • 通常你总是先添加作曲家自动加载。把它放在你的index.php 中是一个不错的选择,但是 codeigniter 3 有一个作曲家的配置选项。 philsturgeon.uk/php/2012/05/07/composer-with-codeigniter
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多