SmartWiki の概要については、以下をお読みください: http://www.cnblogs.com/lifeil/p/6113323.html
SmartWiki デモ サイトは Alibaba Cloud 上にデプロイされているため、Alibaba Cloud には 128M の無料 Memcache サービスがあります。Memcached の設定方法に従って設定した後、Laravel がエラーを報告していることがわかりました。エラーの場所は addServer エラーです。 Alibaba Cloud に接続できません。
仕方ないのでAlibaba Cloudのインストールマニュアルに従ってスクリプトを書いてサーバーに置いた結果、接続して書き込むことができました。
Alibaba Cloud が提供するスクリプトは次のとおりです:
laravel の Memcached ドライバーを見ると、/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php に Memcached オブジェクトを作成するコードは次のとおりです。
リーリーカスタムオプションを実装するにはMemcachedの機能を自分で拡張するしかありません。 laravelの拡張キャッシュは、Cache::extendを使用して拡張できます。拡張コードは次のとおりです:
リーリー
バージョン 5.2 以降では設定の読み取りが適用されない、laravel キャッシュ拡張機能に関する記事がインターネット上に出回っています。キャッシュ拡張コードでは、サービスプロバイダーを登録するために ServiceProvider を作成する必要があります。サービスプロバイダーは、Laravel アプリケーションの起動の中心です。独自のアプリケーションとすべての Laravel のコアサービスは、サービスプロバイダーを通じて開始されます。
しかし、「イニシエーション」とは何を意味するのでしょうか?通常、これは、サービス コンテナー バインディング、イベント リスナー、ミドルウェア、さらにはルートの登録を含む、登録を意味します。サービス プロバイダーはアプリケーション構成の中心です。
Laravel に付属の config/app.php ファイルを開くと、アプリケーションによってロードされるすべてのサービスプロバイダークラスが表示されます。これは、それらの多くが遅延ロードされることを意味します。リクエストは毎回ロードされるわけではなく、実際に使用されるときにのみロードされます。
すべてのサービスプロバイダーは IlluminateSupportServiceProvider クラスを継承します。ほとんどのサービス プロバイダーには、 register と boot という 2 つのメソッドが含まれています。 register メソッドでは、イベント リスナー、ルート、またはその他の機能をサービス コンテナーにバインドすることだけを行う必要があります。
Artisan コマンド make:provider: を使用して新しいプロバイダーを簡単に生成できます
リーリー
独自のサービスプロバイダーを登録するには、それをこの配列に追加するだけです:
リーリー
リーリー
拡張キャッシュにセッションを保存する必要がある場合は、Session::extend を呼び出してセッション ストレージを拡張する必要もあります。
リーリー
SmartWiki ソース コード: https://github.com/lifei6671/SmartWiki