Maison > Télécharger >  Téléchargement de la bibliothèque

  • <?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 est un ORM basé sur la couche d'abstraction de base de données. Il peut facilement accéder à toutes les bases de données via des objets PHP, tels que MYSQL REST n'a rien à voir avec la technologie et représente un style d'architecture logicielle. Transfert, traduction chinoise est "transfert d'état de représentation" REST examine l'ensemble du réseau du point de vue des ressources. Il identifie les ressources distribuées à un certain nœud du réseau via des URL. L'application client obtient la représentation des ressources via les URL. URL et obtient ces Représentant les changements d'état provoqués par ces applicationsToutes les données, qu'elles soient obtenues via le réseau ou exploitées (ajoutées, supprimées, modifiées, vérifiées), sont des ressources Traiter toutes les données comme des ressources est l'attribut le plus essentiel de REST. le distingue des autres styles architecturaux Pour le style architectural REST axé sur les ressources, quelqu'un a proposé un nouveau concept structurel, à savoir : l'architecture orientée ressources (ROA)

    Autres bibliothèques11642017-12-21
  • Le filtre <?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 est utilisé pour valider et filtrer les données provenant de sources non sécurisées. Tester, valider et filtrer les entrées utilisateur ou les données personnalisées est une partie importante de toute application Web. L'extension de filtre de PHP est conçue pour rendre le filtrage des données plus facile et plus rapide. Pourquoi utiliser des filtres ? Presque toutes les applications Web reposent sur une entrée externe. Ces données proviennent généralement des utilisateurs ou d'autres applications (telles que des services Web). En utilisant des filtres, vous pouvez vous assurer que votre application obtient le type d'entrée correct. Vous devez toujours filtrer les données externes ! Le filtrage des entrées est l'un des sujets les plus importants en matière de sécurité des applications.

    Autres bibliothèques20382017-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'));     }Cette bibliothèque peut rapidement vous aider à convertir des unités d'octets. 1 octet est égal à 8 bitsC'est-à-dire 1 octet = 8 bits, ce qui suit est la conversion de Ko, Mo, Go, To1 Ko = 1024 octets1 Mo = 1024 Ko = 1024

    Autres bibliothèques11882017-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;     }Il s'agit d'une bibliothèque d'expressions régulières statiques. TPL signifie Bibliothèque de traitement de texte. l'esprit et l'expressivité sont de très bonnes choses, et la bibliothèque TPL peut en tirer des leçons. La raison du développement de la bibliothèque TPL semble amusante : la raison est que spirit et xpressive sont trop lents. Ce n'est pas que l'exécution soit lente, mais que la compilation est lente.

    Autres bibliothèques21082017-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;     }Le taux de change fait référence au rapport ou à la comparaison de la devise d'un pays avec la devise d'un autre pays, ou au prix de la devise d'un autre pays exprimé dans la devise d'un pays. Les variations des taux de change ont un effet régulateur direct sur le commerce d'importation et d'exportation d'un pays. Sous certaines conditions, une dévaluation externe de la monnaie nationale, c'est-à-dire une augmentation du taux de change, jouera le rôle de promotion des exportations et de restriction des importations, à l'inverse, une appréciation externe de la monnaie nationale, c'est-à-dire une baisse du taux de change ; , jouera le rôle de restriction des exportations et d’augmentation des importations.

    Autres bibliothèques12532017-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();La bibliothèque d'extensions est une fonction de l'extension PHP. Par exemple, PHP ne prend pas en charge à l'origine le fonctionnement d'une certaine fonction, mais si vous souhaitez la prendre en charge dans la nouvelle version, elle sera fournie de manière étendue. lorsque nous configurons PHP, si nous n'utilisons pas cette fonction, nous pouvons empêcher php de le charger, économisant ainsi les ressources du serveur et améliorant ses performances La bibliothèque d'extensions de php est généralement placée dans le répertoire ext sous le répertoire php. pouvoir le voir après avoir décompressé le package compressé php que vous avez téléchargé en ligne. L'extension_dir dans php.ini est utilisé pour spécifier l'adresse de votre extension.

    Autres bibliothèques25122017-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()();//必须调用这个函数清除参数 }

    Autres bibliothèques13712017-12-20
  • Il s'agit d'un client qui peut envoyer et recevoir des messages. Ci-dessous, je vais démontrer les opérations d'envoi et de réception. Les amis qui en ont besoin peuvent le télécharger et l'essayer. Envoyer un message<?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();Recevoir un message<?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(); }

    Autres bibliothèques27332017-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>C'est l'effet final d'une bibliothèque PHP de type option. Si vous en avez besoin, vous pouvez télécharger directement cette bibliothèque de types d'options php-option-master

    Autres bibliothèques25772017-12-20
  • Les migrations de bases de données 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');  }   } sont l'une des fonctionnalités les plus puissantes de Laravel. La migration de base de données peut être comprise comme un contrôleur de version pour la base de données. Contient deux fichiers de migration dans le répertoire database/migrations, un pour créer la table utilisateur et un pour la réinitialisation du mot de passe utilisateur. Dans le fichier de migration, la méthode up est utilisée pour créer la table de données et la méthode down est utilisée pour revenir en arrière, c'est-à-dire supprimer la table de données.

    Autres bibliothèques17602017-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';Compression et recadrage d'images, CSS, fusion et minification de fichiers JS, ces tâches sont essentielles dans le développement de sites Web, mais si vous effectuez toutes ces tâches vous-même, ce sera très gênant, donc aujourd'hui j'en recommande une pour optimiser les images, CSS, JS et d'autres pièces jointes du site Web, une bibliothèque de classes PHP complète : Munee. Munee dispose d'une fonction de mise en cache très puissante qui peut mettre en cache les ressources sur le serveur et les serveurs clients. Et il intègre l'outil Imagine pour le traitement d'image, qui permet d'ajuster rapidement la taille de l'image en ligne, ou de recadrer l'image, etc. Munee peut compiler automatiquement LESS, SCSS et CoffeeScript, et peut également fusionner plusieurs fichiers CSS et JS en une seule requête, ainsi que réduire et GZip ces fichiers pour économiser de la bande passante et améliorer les performances du site Web.

    Autres bibliothèques15382017-12-20
  • Monolog est une bibliothèque de journalisation relativement complète et facilement extensible sous PHP. Actuellement, de nombreux frameworks PHP bien connus, notamment Symfony, Laravel, CakePHP, etc., intègrent Monolog. Monolog peut envoyer vos journaux vers des fichiers, des sockets, des boîtes de réception, des bases de données et divers services Web. Monolog suit la spécification de l'interface PSR3 et peut être facilement remplacé par d'autres bibliothèques de journalisation qui suivent la même spécification. Monolog a une bonne évolutivité. Grâce aux interfaces Handler, Formatter et Processor, la bibliothèque de classes Monolog peut être étendue et personnalisée de différentes manières. Utilisation de base<?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');Concepts de baseChaque instance de Logger contient un nom de canal (canal) et une pile de gestionnaires. Lorsque vous ajoutez un enregistrement, celui-ci est traité via la pile de gestionnaires. Chaque gestionnaire peut également décider de transmettre ou non l'enregistrement au gestionnaire suivant dans la pile suivante. Grâce aux gestionnaires, nous pouvons implémenter certaines opérations de journalisation complexes. Par exemple, si nous plaçons StreamHandler au bas de la pile, tous les enregistrements du journal seront finalement écrits dans le fichier du disque dur. Dans le même temps, nous plaçons MailHandler en haut de la pile et envoyons le journal des erreurs par e-mail en définissant le niveau de journalisation. Il existe un attribut $bubble dans Handler. Cet attribut définit si le gestionnaire intercepte les enregistrements et les empêche de passer au gestionnaire suivant. Ainsi, si nous définissons le paramètre $bubble de MailHandler sur false, lorsqu'un journal d'erreurs se produit, le journal sera envoyé via MailHandler au lieu d'être écrit sur le disque dur via StreamHandler. Plusieurs enregistreurs peuvent être créés, et chacun peut définir son propre nom de canal et sa propre pile de gestionnaires. Les gestionnaires peuvent être partagés entre plusieurs enregistreurs. Le nom du canal sera reflété dans le journal, ce qui nous permettra de visualiser et de filtrer plus facilement les enregistrements du journal. Si le format du journal (Formatter) n'est pas spécifié, Handler utilisera le Formatter par défaut. Les niveaux de journalisation ne peuvent pas être personnalisés. Actuellement, les huit niveaux définis dans la RFC 5424 sont utilisés : débogage, information, notification, avertissement, erreur, critique, alerte et urgence. Si vous avez d'autres besoins en matière d'enregistrements de journaux, vous pouvez ajouter du contenu aux enregistrements de journaux via Processo. Niveau de journalisationDEBUG (100) : informations de débogage détaillées. INFO (200) : Événements marquants. AVIS (250) : Événements ordinaires mais importants. AVERTISSEMENT (300) : une exception sans erreur s'est produite. ERROR (400) : erreur d'exécution, mais ne doit pas être traitée immédiatement. CRITICA (500) : Erreur critique. URGENCE (600) : Le système est indisponible.

    Autres bibliothèques29522017-12-20