繁体   English   中英

使用Slim PHP 2.0的Composer包

[英]Using Composer Packages with Slim PHP 2.0

我正在尝试使用Slim PHP 2.0,Composer和几个第三方软件包构建REST API。 我使用Composer通过在我的应用程序的根目录中创建一个composer.json文件来安装Slim,其中包含以下内容:

{
    "require": {
        "slim/slim": "2.*"
    }
}

运行composer install后,我有以下结构:

root/
    vendor/
        composer/
        slim/
        autoload.php
    composer.json
    composer.lock
    index.php

我想包括Valitron( https://packagist.org/packages/vlucas/valitron )库以及此Bcrypt( https://packagist.org/packages/openlss/func-bcrypt )库进行验证以哈希密码对于用户。 所以,我对我的composer.json文件添加了以下内容,所以它看起来像这样:

{
    "require": {
        "slim/slim": "2.*",
        "vlucas/valitron": "dev-master",
        "openlss/func-bcrypt": "dev-master"
    }
}

运行作曲家更新后,我得到了以下目录结构。

root/
    vendor/
        composer/
        openlss/
        slim/
        vlucas/
        autoload.php
    composer.json
    composer.lock
    index.php

从这里开始,我不确定如何为我的应用程序设置自动加载。 我有时会看到autoload classmap,有时会看到psr-0。 除了这些第三方软件包之外,我将创建自己的模型。 一个将是一个处理连接到数据库的基本模型,然后每个表将有一个模型,我用它来操纵所述表。 因此,为了与users表进行交互,我将使用下面的UserModel.php文件。 我的另一个问题是如何在这个中“使用”Valitron和BCrypt文件? 我会这样做:

<?php namespace Libraries;

use \Valitron;
use \BCrypt;

class UserModel extends BaseModel {

    // I want to use the Valitron class here along with the crypt file

}

我将如何设置自动加载器来完成此任务? 任何帮助是极大的赞赏。 我已经非常不喜欢Composer,但是因为每个人都说这对PHP开发人员来说是必须的,所以我试图强迫自己去学习它。

Composer为composer.json指定的第三方库提供自动加载器。 请参阅https://getcomposer.org/doc/01-basic-usage.md#autoloading 您可以根据需要自定义自动加载器,它支持PSR-4和类映射。 有关详细信息,请参阅自动加载参考

我的意思是,它在现实中非常简单。 如果您希望自动加载这些类,则需要autoload.php

require 'vendor/autoload.php';

或者,在composer.json您可以声明它。

{
    "autoload": {
        "psr-0": {"Libraries": "vendor/open-lss"}
    }
}

这将允许你做:

namespace Libraries\func-bcrypt

class bCrypt_class{

}

这是我相信你试图实现的目标

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM