laravel5.6扩展包开发

1.安装laravel5.6

laravel new larapackage

2.创建packages/marcello/laravelalert/src目录

3.进入package/marcello/laravelalert文件夹并初始化composer

cd packeages/marcello/laravelalert
composer init


  Welcome to the Composer config generator



This command will guide you through creating your composer.json config.

Package name (<vendor>/<name>) [warcello/laravelalert]: marcello/laravelalert
Description []: write a package test for laravel
Author [汐杰 <745289603@qq.com>, n to skip]:
Minimum Stability []: dev
Package Type (e.g. library, project, metapackage, composer-plugin) []: project
License []: MIT

Define your dependencies.

Would you like to define your dependencies (require) interactively [yes]? no
Would you like to define your dev dependencies (require-dev) interactively [yes]? no

{
    "name": "marcello/laravelalert",
    "description": "write a package test for laravel",
    "type": "project",
    "license": "MIT",
    "authors": [
        {
            "name": "汐杰",
            "email": "745289603@qq.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {}
}

Do you confirm generation [yes]? yes

4.编辑根目录下的composer.json,加入

"repositories": [
        {
            "type": "path",
            "url": "packages/marcello/laravelalert",
            "options": {
                "symlink": true
            }
        }
    ],
    "require": {
        ...
        "marcello/laravelalert":"dev-master"

    },

5.在根目录执行composer update

不能再当前目录执行composer update

6.创建服务提供者

执行php artisan make:provider FlashServiceProvider 将生成的文件移动到package/marcello/laravelalert/src下,将命名空间修改成 namespace Marcello\Laravelalert;

7.修改laravelalert下的composer.json文件

在require下添加autoload和extra
{
    "name": "marcello/laravelalert",
    "description": "write a package test for laravel",
    "type": "project",
    "license": "MIT",
    "authors": [
        {
            "name": "汐杰",
            "email": "745289603@qq.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {},

    "autoload":{
        "psr-4":{
            "Marcello\\Laravelalert\\":"src/"
        }
    },
    "extra": {
        "laravel": {
            "providers": [
                "Marcello\\Laravelalert\\FlashServiceProvider"
            ]
        }
    }

}

8.创建FlashController.php

<?php
namespace Marcello\Laravelalert;

use App\Http\Controllers\Controller;

class FlashController extends Controller
{
    public function index()
    {
        dd(111);
    }
}

9.在src下创建routes/web.php

<?php
Route::get('/test','marcello\laravelalert\FlashController@index');

10.在FlashServiceProvider中注册路由和控制器

<?php

namespace Marcello\Laravelalert;

use Illuminate\Support\ServiceProvider;

class FlashServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        include __DIR__.'/routes/web.php';
        $this->app->make('Marcello\Laravelalert\FlashController');
    }
}

11.打开浏览器运行localhost:8000/test

完成

laravel5.6版本完整下载。 简介 为了帮助你了解更多关于应用中所发生的事情,Laravel 提供了强大的日志服务来记录日志信息到文件、系统错误日志、甚至是 Slack 以便通知整个团队。 在日志引擎之下,Laravel 集成了 Monolog 日志库以便提供各种功能强大的日志处理器,从而允许你通过它们来定制自己应用的日志处理。 配置 应用日志系统的所有配置都存放在配置文件 config/logging.php 中,该文件允许你配置应用的日志频道,因此请务必查看每个可用频道及其配置项。下面我们就来看看其中某些配置项。 默认情况下,Laravel 使用 stack 频道来记录日志信息,stack 频道被用于聚合多个日志频道到单个频道,更多关于构建 stack 的信息,请查看下面的文档。 配置频道名称 默认情况下,Monolog 通过与当前环境匹配的「频道名」实例化,例如 production 或 local,要改变这个值,添加 name 项到频道配置: 'stack' => [ 'driver' => 'stack', 'name' => 'channel-name', 'channels' => ['single', 'slack'], ], 配置 Slack 频道 slack 频道需要一个 url 配置项,这个 URL 需要和你配置的 Slack 团队请求 URL 相匹配。 构建日志堆栈 如上所述,stack 驱动允许你将多个频道合并到单个日志频道,为了说明如何实现,让我们看一个你可能在生产环境中看到的示例配置: 'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['syslog', 'slack'], ], 'syslog' => [ 'driver' => 'syslog', 'level' => 'debug', ], 'slack' => [ 'driver' => 'slack', 'url' => env('LOG_SLACK_WEBHOOK_URL'), 'username' => 'Laravel Log', 'emoji' => ':boom:', 'level' => 'critical', ], ], 我们来剖析这个配置。首先,注意 stack 频道通过 channels 项将聚合了其他两个频道:syslog 和 slack。因此,记录日志信息时,这两个频道都有机会记录信息。 日志级别 注意上述示例中 syslog 和 slack 频道配置中出现的 level 配置项,这个配置项决定了日志信息被频道记录所必须达到的最低「级别」。为 Laravel 提供日志服务的 Monolog,支持定义在 RFC 5424规范中的所有日志级别:emergency、alert、critical、error、warning、 notice、info 和 debug。 因此,假设我们使用 debug 方法来记录日志信息: Log::debug('An informational message.'); 鉴于我们的配置,syslog 频道将会将信息记录到系统日志;不过,由于错误消息不是 critical 或更高级别,将不会发送到 Slack。但是,如果我们记录的是 emergency 级别的信息,就会被发送到系统日志和 Slack,因为 emergency 级别高于两个频道的最低级别门槛: Log::emergency('The system is down!'); 写入日志信息 你可以使用 Log 门面记录日志信息,如上所述,日志系统提供了定义在 RFC 5424 规范中的八种日志级别:emergency、alert、critical、error、warning、 notice、info 和 debug: Log::emergency($error); Log::alert($error); Log::critical($error); Log::error($error); Log::warning($error); Log::notice($error); Log::info($error); Log::debug($error); 因此,你可以调用其中的任意一个方法来记录相应级别的日志信息,默认情况下,信息会被写入到通过配置文件 config/logging.php 所配置的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

warcello

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值