首先您需要转到app/config/app.php 并在providers 部分添加:
'Laracms\Providers\SettingsServiceProvider',
您应该在aliases 部分的同一文件中添加:
'Settings' => 'Laracms\Facades\Settings',
在您的app/Laracms/Providers 中,您应该创建文件SettingsServiceProvider.php
<?php
namespace Laracms\Providers;
use Illuminate\Support\ServiceProvider;
class SettingsServiceProvider extends ServiceProvider {
public function register()
{
$this->app->bind('settings', function()
{
return new \Laracms\Settings();
});
}
}
在您的app/Laracms/Facades/ 中,您应该创建文件Settings.php:
<?php
namespace Laracms\Facades;
use Illuminate\Support\Facades\Facade;
class Settings extends Facade {
protected static function getFacadeAccessor() { return 'settings'; }
}
现在您应该在您的app/Laracms 目录中创建文件Settings.php:
<?php
namespace Laracms;
class Settings {
public function get() {echo "get"; }
public function set() {echo "set"; }
}
由于您希望将文件放在自定义文件夹 Laracms 中,您需要将此文件夹添加到您的 composer.json(如果您使用标准 app/models 文件夹,则无需向此文件添加任何内容)。所以现在打开composer.json 文件并在autoload -> classmap 部分中添加app/Laracms,这样composer.json 的这一部分可能如下所示:
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/Laracms"
]
},
现在您需要在项目文件夹中的控制台中运行:
composer dump-autoload
创建类映射
如果一切正常,您现在应该可以在您的应用程序中使用Settings::get() 和Settings:set()
您需要注意,我使用了大写的文件夹,因为按照约定命名空间以大写字母开头。