首页 > 下载 >  类库下载

  • <?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 1024byte1GB = 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