首頁 > 下載 >  類別庫下載

  • <?php error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 'On'); chdir(__DIR__); $configFile = 'server-config.php'; if (!file_exists($configFile) || !is_readable($configFile)) { trigger_error('Unable to read configuration file: ' . $configFile . ' Use server-config.php.dist as a template to create server-config.php.dist'); } include $configFile; $helperSet = (isset($helperSet)) ? $helperSet : new \Symfony\Component\Console\Helper\HelperSet(); $cli = new \Symfony\Component\Console\Application('Drest Server Command Line Interface Tool'); $cli->setCatchExceptions(true); $cli->setHelperSet($helperSet); $cli->addCommands(array( // Drest Commands     new Drest\Tools\Console\Command\CheckDefinitions(),     new Drest\Tools\Console\Command\CheckProductionSettings() )); $cli->run();Doctrine是基於資料庫抽象層上的ORM,它可以透過PHP物件輕鬆存取所有的資料庫,例如MYSQL,REST與技術無關,代表的是一種軟體架構風格,REST是Representational State Transfer的簡稱,中文翻譯為「表徵狀態轉移」REST從資源的角度類別檢視整個網絡,它將分佈在網路中某個節點的資源透過URL進行標識,客戶端應用透過URL來獲取資源的表徵,獲得這些表徵致使這些應用轉變狀態所有的數據,不過是透過網路取得的還是操作(增刪改查)的數據,都是資源,將一切數據視為資源是REST區別與其他架構風格的最本質屬性對於REST這種面向資源的架構風格,有人提出一種全新的結構理念,即:資源導向架構(ROA:Resource Oriented Architecture

    其它類別庫11642017-12-21
  • <?php namespace DMS\Filter; class Filter implements FilterInterface {     protected $metadataFactory;     protected $filterLoader;     public function __construct(Mapping\ClassMetadataFactory $metadataFactory, $filterLoader)     {         $this->metadataFactory = $metadataFactory;         $this->filterLoader    = $filterLoader;     }     public function filterEntity($object)     {         $this->walkObject($object);     }     public function filterProperty($object, $property)     {         $this->walkObject($object, $property);     }PHP 過濾器用於驗證和過濾來自非安全性來源的資料。 測試、驗證和過濾使用者輸入或自訂資料是任何 Web 應用程式的重要組成部分。 PHP 的過濾器擴充功能的設計目的是讓資料過濾更輕鬆快速。 為什麼要使用過濾器? 幾乎所有的 Web 應用程式都依賴外部的輸入。這些數據通常來自使用者或其他應用程式(例如 web 服務)。透過使用過濾器,您能夠確保應用程式獲得正確的輸入類型。 您應該始終對外部資料進行過濾! 輸入過濾是最重要的應用程式安全主題之一。

    其它類別庫20382017-12-21
  • <?php namespace ByteUnits; class ArithmeticTest extends \PHPUnit_Framework_TestCase {     public function testAddInSameUnitSystem()     {         $this->assertEquals(Metric::bytes(10), Metric::bytes(5)->add(Metric::bytes(5)));         $this->assertEquals(Binary::bytes(10), Binary::bytes(5)->add(Binary::bytes(5)));     }     public function testRemoveInSameUnitSystem()     {         $this->assertEquals(Metric::bytes(3), Metric::bytes(5)->remove(Metric::bytes(2)));         $this->assertEquals(Binary::bytes(3), Binary::bytes(5)->remove(Binary::bytes(2)));     }     public function testAutoboxing()     {         $this->assertEquals(Metric::bytes(10), Metric::bytes(5)->add(5));         $this->assertEquals(Metric::bytes(10), Metric::bytes(5)->add('5B'));         $this->assertEquals(Metric::bytes(3), Metric::bytes(5)->remove(2));         $this->assertEquals(Metric::bytes(3), Metric::bytes(5)->remove('2B'));     }本函式庫可以快速的幫你轉換位元組單位。 1個位元組等於8bit即1byte = 8 bit,下面是KB,MB,GB,TB的換算1KB = 1024 byte1MB = 1024KB = 1024 X 1024byte1MB = 1024KB = 1024 X 1024byte#1GB = 1024MB1TB = 1024GB###

    其它類別庫11882017-12-21
  • <?php namespace KzykHys\Text; class Text implements \Serializable {     private $text;     public function __construct($text = '')     {         $this->text = (string) $text;     }     public static function create($text = '')     {         return new static($text);     }         public function append($text)     {         $this->text .= (string) $text;         return $this;     }這是一個屬於靜態正規表示式函式庫。 TPL 全稱為 Text Processing Library(文字處理庫)。 spirit、xpressive 是很好的東西,實作 TPL 函式庫中對這兩者有所借鑒。說起來開發 TPL 函式庫的理由看起來還蠻好笑的:原因是 spirit、xpressive 太慢。不是執行慢,而是編譯慢。

    其它類別庫21082017-12-20
  • <?php namespace Swap\Service; use Exchanger\Service\Service; use Http\Client\HttpClient; use Http\Discovery\HttpClientDiscovery; use Http\Discovery\MessageFactoryDiscovery; use Http\Message\RequestFactory; class Factory {     private $httpClient;     private $requestFactory;     private $registry;     public function __construct(HttpClient $httpClient = null, RequestFactory $requestFactory = null)     {         $this->httpClient = $httpClient ?: HttpClientDiscovery::find();         $this->requestFactory = $requestFactory ?: MessageFactoryDiscovery::find();         $this->registry = new Registry();     }     public function setHttpClient(HttpClient $httpClient)     {         $this->httpClient = $httpClient;     }     public function setRequestFactory(RequestFactory $requestFactory)     {         $this->requestFactory = $requestFactory;     }匯率是指一國貨幣與另一國貨幣的比率或比價,或以一國貨幣表示的另一國貨幣的價格。匯率變動對一國進出口貿易有著直接的調節作用。在某些條件下,透過使本國貨幣對外貶值,即讓匯率上升,會起到促進出口、限制進口的作用;反之,本國貨幣對外升值,即匯率下降,則起到限制出口、增加進口的作用。

    其它類別庫12532017-12-20
  • <?php require_once __DIR__ . '/../bootstrap.php'; $loop = \React\EventLoop\Factory::create(); $scheduler = new \Rx\Scheduler\EventLoopScheduler($loop); $source1 = \Rx\Observable::fromArray(range(0, 100)); $source2 = \Rx\Observable::fromArray(range(0, 100)); $source = $source1->combineLatest([$source2], function($value1, $value2){     return "First: {$value1}, Second: {$value2}"; })->take(4); $subscription = $source->subscribe($stdoutObserver, $scheduler); $loop->run();擴充函式庫是php擴充的功能,例如php本來不支援操作某種功能,但在新版本想對它提供支援,就以擴充的方式來提供,這樣,我們在配置php時,如果我們不用此功能,我們就可以讓php不加載他.從而節省伺服器資源.提供其性能    php的擴展庫一般放在php目錄下的ext目錄裡.你在網上下載的php壓縮包解壓後應該可以看到.    php.ini中的extension_dir 用來指定你的副檔名的位址 。

    其它類別庫25122017-12-20
  • 套接字的编程步骤 在使用之前须链接库函数:工程->设置->Link->输入ws2_32.lib,OK! SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//创建套接字(socket)。 SOCKADDR_IN addrSrv; addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//转换Unsigned short为网络字节序的格式 addrSrv.sin_family=AF_INET; addrSrv.sin_port=htons(6000); 客户端代码如下: #include <Winsock2.h> #include <stdio.h> void main() { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 1, 1 ); err = WSAStartup( wVersionRequested, &wsaData );加载套接字库 if ( err != 0 ) { return; } if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) { WSACleanup()( ); return;  } SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);创建套接字(socket)。 SOCKADDR_IN addrSrv; addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); addrSrv.sin_family=AF_INET; addrSrv.sin_port=htons(6000); connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));向服务器发出连接请求(connect)。 char recvBuf[100];和服务器端进行通信(send/recv)。 recv(sockClient,recvBuf,100,0); printf("%s\n",recvBuf); send(sockClient,"This is lisi",strlen("This is lisi")+1,0); closesocket(sockClient);关闭套接字。 WSACleanup()();//必须调用这个函数清除参数 }#

    其它類別庫13712017-12-20
  • 這是一個可以發送和接受訊息的客戶端,下面給大家示範一下發送和接受的操作,需要的朋友可以自行下載後嘗試一下。 發送訊息<?phptry {     $rcf = new RdKafka\Conf();     $rcf->set('group.id', 'test');     $cf = new RdKafka\TopicConf();     $cf->set('offset.store.method', 'broker');     $cf->set('auto.offset.reset', 'smallest');     $rk = new RdKafka\Producer($rcf);     $rk->setLogLevel(LOG_DEBUG);     $rk->addBrokers("127.0.0.1");     $topic = $rk->newTopic("test", $cf);     for($i = 0; $i < 1000; $i++) {         $topic->produce(0,0,'test' . $i);//没有setMessge接口了,使用produce  参考:https://libraries.io/github/mentionapp/php-rdkafka     }  } catch (Exception $e) {     echo $e->getMessage();接收訊息<?phptry {     $rcf = new RdKafka\Conf();     $rcf->set('group.id', 'test');     $cf = new RdKafka\TopicConf();/*     $cf->set('offset.store.method', 'file'); */     $cf->set('auto.offset.reset', 'smallest');     $cf->set('auto.commit.enable', true);     $rk = new RdKafka\Consumer($rcf);     $rk->setLogLevel(LOG_DEBUG);     $rk->addBrokers("127.0.0.1");     $topic = $rk->newTopic("test", $cf);    //$topic->consumeStart(0, RD_KAFKA_OFFSET_BEGINNING);     while (true) {         $topic->consumeStart(0, RD_KAFKA_OFFSET_STORED);         $msg = $topic->consume(0, 1000);         var_dump($msg);        if ($msg->err) {            echo $msg->errstr(), "\n";            break;         } else {            echo $msg->payload, "\n";         }         $topic->consumeStop(0);         sleep(1);     } } catch (Exception $e) {    echo $e->getMessage(); }#

    其它類別庫27332017-12-20
  • <div class="form-group">      <label for="tag">标签</label>      <select name="tag" value='{$result["tag"]}' class="form-control input-lg">      <option value="shenghuomiaozhao" <?php echo ($result["tag"]=="shenghuomiaozhao")?"selected":"" ?>>生活妙招</option>     <option value="fenleijieshao"    <?php echo ($result["tag"]=="fenleijieshao")?"selected":""?>    >分类介绍</option>     <option value="huanbaohudong"    <?php echo ($result["tag"]=="huanbaohudong")?"selected":""?>    >环保互动</option>     <option value="huishouliucheng"  <?php echo ($result["tag"]=="huishouliucheng")?"selected":""?>  >回收流程</option>     </select>                 </div>這是一個選項類型的PHP函式庫,最終實現的效果。如果有需要的朋友可以直接下載這份php-option-master選項類型庫

    其它類別庫25772017-12-20
  • php artisan migrate #输出Migration table created successfully. Migrated: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_100000_create_password_resets_table php artisan migrate:rollback #输出Rolled back: 2014_10_12_100000_create_password_resets_table Rolled back: 2014_10_12_000000_create_users_table php artisan make:migration create_article_table --create='articles' #输出Created Migration: 2015_03_28_050138_create_article_table <?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateArticleTable extends Migration {    /**  * Run the migrations.  *  * @return void  */  public function up()  {  Schema::create('articles', function(Blueprint $table)  {   $table->increments('id');   $table->timestamps();  });  }    /**  * Reverse the migrations.  *  * @return void  */  public function down()  {  Schema::drop('articles');  }   }database migrations 是laravel最強大的功能之一。資料庫遷移可以理解為資料庫的版本控制器。 在 database/migrations 目錄中包含兩個遷移文件,一個建立使用者表,一個用於使用者密碼重設。 在遷移檔案中,up 方法用來建立資料表,down方法用來回滾,也就是刪除資料表。

    其它類別庫17602017-12-20
  • <?php /**  * Munee: Optimising Your Assets  *  * @copyright Cody Lundquist 2013  * @license http://opensource.org/licenses/mit-license.php  */ $ds = DIRECTORY_SEPARATOR; $muneePath = __DIR__ . $ds . '..'; spl_autoload_register(function ($class) use ($ds, $muneePath) {     $path = str_replace('\', DIRECTORY_SEPARATOR, $class);     foreach (array('src', 'tests') as $dirPrefix) {         $file = $muneePath . $ds . $dirPrefix . $ds . $path . '.php';         if (file_exists($file)) {             require_once $file;             break;         }     } }); defined('WEBROOT') || define('WEBROOT', __DIR__ . $ds . 'tmp'); require_once $muneePath . $ds . 'config' . $ds . 'bootstrap.php';圖片壓縮裁剪,CSS,JS 檔案合併和minified,這些工作是網站開發中,必不可少的,但是這些工做如果都是自己來處理,會非常麻煩,所以今天就推荐一個用於最佳化圖片,CSS,JS 等網站附件的全功能PHP 類別庫:Munee。 Munee 有強大的快取功能,可以在伺服器端和用戶端伺服器上快取資源。並且整合了 Imagine 這個工具用於圖片的處理,可以在線上快速調整圖片大小,或裁剪圖片等。 Munee 可以自動編譯 LESS,SCSS 和 CoffeeScript,並且還能將多個 CSS 和 JS 檔案合併成一個請求,以及最小化和 GZip 壓縮這些檔案以節省頻寬和更好的網站的效能。

    其它類別庫15382017-12-20
  • Monolog是php下比較全又容易擴充的記錄日誌類別庫。目前有包括Symfony 、Laravel、 CakePHP等諸多知名php框架都內建了Monolog。 Monolog可以把你的日誌送到文件,sockets,收件箱,資料庫和各種web services。 Monolog遵循PSR3的介面規範,可以很輕易的替換成其他遵循相同規範的日誌類別庫。 Monolog具有良好的擴充性,透過Handler、Formatter和Processor這幾個接口,可以對Monolog類別庫進行各種擴充和自訂。 基本用法<?php  use Monolog\Logger;  use Monolog\Handler\StreamHandler;    // 创建日志频道  $log = new Logger('name');  $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));    // 添加日志记录  $log->addWarning('Foo');  $log->addError('Bar');核心概念每一個Logger實例都包含一個頻道名稱(channel)和handler的堆疊。當你新增一筆記錄時,記錄會依序通過handler堆疊的處理。而每個handler也可以決定是否把記錄傳遞到下一個堆疊裡的下一個handler。 透過handler,我們可以實作一些複雜的日誌操作。例如我們把StreamHandler放在堆疊的最下面,那麼所有的日誌記錄最終都會寫到硬碟檔案裡。同時我們把MailHandler放在堆疊的最上面,透過設定日誌等級把錯誤日誌透過郵件發送出去。 Handler裡有個$bubble屬性,這個屬性定義了handler是否攔截記錄不讓它流到下一個handler。所以如果我們把MailHandler的$bubble參數設定為false,則出現錯誤日誌時,日誌會透過MailHandler傳送出去,而不會經過StreamHandler寫到硬碟上。 Logger可以建立多個,每個都可以定義自己的頻道名稱和handler堆疊。 handler可以在多個Logger中共享。頻道名稱會反映在日誌裡,方便我們檢視和篩選日誌記錄。 如果沒有指定日誌格式(Formatter),Handler會使用預設的Formatter。 日誌的等級不能自訂,目前使用的是RFC 5424裡定義的8個等級:debug、info、notice、warning、error、critical、alert和emergency。如果對日誌記錄有其他的需求,可以透過Processo對日誌記錄新增內容。 日誌等級DEBUG (100): 詳細的debug資訊。 INFO (200): 關鍵事件。 NOTICE (250): 普通但是重要的事件。 WARNING (300): 出現非錯誤的例外。 ERROR (400): 執行階段錯誤,​​但不需要立刻處理。 CRITICA (500): 嚴重錯誤。 EMERGENCY (600): 系統不可用。

    其它類別庫29522017-12-20