laravel 开发拓展包

1、在根目录下新建

packages/itchuan/src/MD5Hasher.php

并写入

<?php

namespace Itchuan\Hasher;
class MD5Hasher
{

    public function make($value, array  $options = [])
    {
        $salt = isset($options['salt']) ? $options['salt'] : '';
        return hash('md5', $value . $salt);
    }
    public function check($value, $hashValue, array $options = [])
    {
        $salt = isset($options['salt']) ? $options['salt'] : '';
        return hash('md5', $value . $salt) == $hashValue;
    }
}

2、composer.json文件中

"autoload": {
        "psr-4": {
            "App\\": "app/",
            "Itchuan\\Hasher\\": "packages/itchuan/hasher/src/"
        }
    },

3、执行

composer dump-autoload

4、执行

php artisan make:provider MD5HasherProvider

默认发布app/providers/MD5HasherProvider.php,复制到packages/itchuan/src/MD5HasherProvider.php

5、更改MD5HasherProvider.php命名空间

<?php

namespace Itchuan\Hasher;

use Illuminate\Support\ServiceProvider;

class MD5HasherProvider extends ServiceProvider
{
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        //
        $this->app->singleton('md5hasher',function (){
            return new MD5Hasher();
        });
        //app('md5hasher');
    }
}

6、此时可以通过 app('md5hasher')->make('ff');使用

猜你喜欢

转载自blog.csdn.net/sinat_37390744/article/details/108973165