2014-02-22 40 views
0

使用作曲家包我想建立使用超薄PHP 2.0,作曲一个REST API,和几个第三方软件包。我用作曲家在我的应用程序的根具有下列创建composer.json文件来安装修身:搭配修身PHP 2.0

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

后我跑了作曲家安装我有以下结构:

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。在这些第三方软件包之上,我将创建自己的模型来使用。一个是处理连接数据库的基本模型,然后每个表都有一个我用来操纵上述表的模型。所以为了与用户表交互,我将使用下面的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开发人员的必备条件,所以我试图强迫自己学习它。

回答

0

我的意思是,这在现实中很简单。如果你想这些类被自动加载,然后要求autoload.php

require 'vendor/autoload.php'; 

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

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

这将允许你这样做:

namespace Libraries\func-bcrypt 

class bCrypt_class{ 

} 

这是什么,我相信你正试图实现