PHP之依賴管理 composer

來源:互聯網
上載者:User

標籤:php composer monolog

當你想著鞋墊自己的東西的時候,或者說是整理下過去用過的工具,代碼,這時候你就會想到看看github上比較好的代碼,這裡主要講PHP的


估計在win上安裝composer比較麻煩,或者不好用,但是你想用本地的wamp,那麼你可以用虛擬機器安裝好composer,然後就可以下載你需要的。這裡以我正在使用的monolog日誌系統


composer require monolog/monolog

這樣就會在目前的目錄產生和下載

vender就是統一的第三方外掛程式的檔案夾,composer.json就是設定檔,composer會根據這個去下載第三方,composer.lock會限制composer不會更新你安裝過外掛程式的版本,保持你們開發的穩定性


現在來說說monolog,本來就是安裝PHP規範寫的,文檔也寫的比較清楚,不過文檔看完,你瞭解了設計思路,但是具體的應用需要自己在使用中慢慢發掘或者專門去測試一下


上代碼:

<?phpinclude "vendor/autoload.php";use Monolog\logger;use Monolog\Handler\StreamHandler;use Monolog\Formatter\LineFormatter;// include "vendor/monolog/monolog/tests/Monolog/LoggerTest.php";//設定格式的地方$dateFormat = "Y-n-j, g:i:a";$output = "%datetime% >  %channel%.%level_name% > %message% %context% %extra%\n";$formatter = new LineFormatter($output, $dateFormat);$log = new Logger(‘myApp‘);//$log = new Monolog\Logger("name");$bug_log = new StreamHandler(‘logs/development.log‘,logger::DEBUG);$bug_log->setFormatter($formatter);$log->pushHandler($bug_log);$log->pushHandler(new StreamHandler(‘logs/production.log‘,logger::WARNING));$error = array(‘12‘=>‘jack‘,‘13‘=>‘marry‘);$error_string = ‘a error‘;//$log->debug($error_string);//$log->warning(‘This is a warning. No caring now‘);//$log->info(‘Where Can I see you?‘);// $logtest = new LoggerTest();// $logtest->testGetName();$log->addInfo(‘Adding a new user‘, array(‘username‘ => ‘Seldaek‘));$log->pushProcessor(function ($record) {    $record[‘extra‘][‘dummy‘] = ‘Hello world!now I cannot see the world outside.‘;    return $record;});//withName是單獨複製,換個名字記錄$securityLogger = $log->withName(‘security‘);$securityLogger->info(‘我涉及到的都是安全問題‘);


針對資料庫的寫法

上代碼

use Monolog\Logger;  use Monolog\Handler\AbstractProcessingHandler;    class PDOHandler extends AbstractProcessingHandler  {      private $initialized = false;      private $pdo;      private $statement;        public function __construct(PDO $pdo, $level = Logger::DEBUG, $bubble = true)      {          $this->pdo = $pdo;          parent::__construct($level, $bubble);      }        protected function write(array $record)      {          if (!$this->initialized) {              $this->initialize();          }            $this->statement->execute(array(              ‘channel‘ => $record[‘channel‘],              ‘level‘ => $record[‘level‘],              ‘message‘ => $record[‘formatted‘],              ‘time‘ => $record[‘datetime‘]->format(‘U‘),          ));      }        private function initialize()      {          $this->pdo->exec(              ‘CREATE TABLE IF NOT EXISTS monolog ‘              .‘(channel VARCHAR(255), level INTEGER, message LONGTEXT, time INTEGER UNSIGNED)‘          );          $this->statement = $this->pdo->prepare(              ‘INSERT INTO monolog (channel, level, message, time) VALUES (:channel, :level, :message, :time)‘          );            $this->initialized = true;      }



願大家一路順風,更多的學習更多優秀的代碼,在使用完,休閑的時候看看人家的思路


願法界眾生,皆得安樂

本文出自 “一站式解決方案” 部落格,請務必保留此出處http://10725691.blog.51cto.com/10715691/1955540

PHP之依賴管理 composer

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.