我创建了第一个在GitHub上托管的PHP库。
https://github.com/TBETool/password-generator
使用composer在我的PHP应用程序中安装库时,目录结构就像 供应商
|- tbetool
|- php-password-generator
|- src
|- PasswordGenerator.php
|- README.md
|- composer.json
composer.json
的内容是
{
"name": "tbetool/php-password-generator",
"type": "library",
"homepage": "http://thebornengineer.com",
],
"require": {
"php": ">=5.3.0"
}
}
PasswordGenerator.php
的内容<?php
namespace TBETool;
/**
* Class PasswordGenerator
* @package TBETool
*/
class PasswordGenerator
{
// content goes here
}
并在/composer.json
"require": {
"php": ">=5.6",
.... other packages....
"tbetool/php-password-generator": "^1.2"
},
但是当我在我的程序中使用时。
<?php
use TBETool\PasswordGenerator;
class MyClass {
function myFun() {
$password = new PasswordGenerator();
}
}
但是它给出了错误
Class&#39; TBETool \ PasswordGenerator&#39;找不到
设置我的库以使用作曲家时是否有错误?
答案 0 :(得分:3)
您应该在composer.json文件中使用psr-4自动加载
"autoload": {
"psr-4": {
"Namespace\\": "root/path/for/namespace"
}
}
然后转储您的自动加载composer dump-autoload