[英]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.