2015年1月17日星期六

一步一步来做WebQQ机器人-(二)(第一次登陆) - 上位者的怜悯

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
一步一步来做WebQQ机器人-(二)(第一次登陆) - 上位者的怜悯  阅读原文»

$(function() { SyntaxHighlighter.config.bloggerMode = true; SyntaxHighlighter.config.clipboardSwf = 'http://static.oschina.net/js/syntax-highlighter-2.1.382/scripts/clipboard.swf'; SyntaxHighlighter.defaults['collapse'] = true; SyntaxHighlighter.all(); });//

Laravel Packages开发 - brudeke  阅读原文»

  Packages是向Laravel中添加功能最重要的途径。composer.json中require的都是包。关于包的详细说明请查看 API . 下面一起创建一个简单的Package :

  1. 环境配置

  我们以Artisan的workbench命令来创建一个Package ,首先要配置 app/confg/workbench.php  

1 <?php
2
3 return array(
4
5 'name' => 'brudeke',
6
7 'email' => 'xxxxxxxx@163.com',
8
9 );

 

 2. 创建Package

  其中vendor是厂商名称,用于区别相同名称的包;package是要创建的包名;  

1 php artisan workbench vendor/package --resources

  执行以上命令后会在根目录出现workbench目录,其中workbench/vendor/package/src/Vendor/Package目录下会自动生成PackageServiceProvider.php(以下称此文件为引导类),该文件相当于包的引导类。

  

  3. 在包中添加功能类

  在这里我们在包中添加一个工具类,在“引导类”的同级创建Utils/Turbo.php  

1 <?php
2
3 namespace Vendor\Package\Utils;
4
5 use Illuminate\Http\RedirectResponse;
6
7 class Turbo {
8
9 public function __construct() {}
10
11 public function setUp(){
12 echo "this is a tool";
13 }
14 }

  4. 创建Facades

  Facades的功能就是美化类,可以使成员函数以静态成员的方式调用,在引导类同级创建Facades/Turbo.php  

1 <?php
2 namespace Vendor\Package\Facades;
3
4 use Illuminate\Support\Facades\Facade;
5
6 class Turbo extends Facade {
7
8 protected static function getFacadeAccessor() {
9 return 'turbo';
10 }
11 }

  

  5. 绑定功能类到Ioc容器

  修改引导类如下,其中$defer是表示延迟加载服务提供器。  

1 <?php
2 namespace Vendor\Package;
3
4 use Illuminate\Support\ServiceProvider;
5
6 class PackageServiceProvider extends ServiceProvider {
7
8 /**
9 * Indicates if loading of the provider is deferred.
10 *
11 * @var bool
12 */
13 protected $defer = true;
14
15 /**
16 * Bootstrap the application events.
17 *
18 * @return void
19 */
20 public function boot(){
21 $this->package('vendor/package');
22 }
23
24 /**
25 * Register the service provider.
26 *
27 * @return void
28 */
29 public function register(){
30 $this->app->bindShared('turbo', function(){
31 return new \Vendor\Package\Utils\Turbo;
32 });
33 }
34
35 /**
36 * Get the services provided by the provider.
37 *
38 * @return array
39 */
40 public function provides()
41 {
42 re

阅读更多内容

没有评论:

发表评论