ホームページ > ダウンロード >  クラスライブラリのダウンロード

  • <?php namespace KzykHys\Text; class Text implements \Serializable {     private $text;     public function __construct($text = '')     {         $this->text = (string) $text;     }     /**      * @param string $text      */     public static function create($text = '')     {         return new static($text);     }         /**      * Append the string      *      * @param string $text      *      * @return Text      */     public function append($text)     {         $this->text .= (string) $text;         return $this;     }PHP には、テキストの作成、読み取り、アップロード、編集のためのさまざまな機能があります注: テキストの操作には注意してください。 テキストを操作するときは、細心の注意を払う必要があります。間違って行うと、非常に深刻な損害を引き起こす可能性があります。よくある間違いは次のとおりです:間違ったテキストを編集する、ハード ドライブをジャンク データでいっぱいにする、ファイル コンテンツを誤って削除する

    その他の図書館98232018-01-23
  • <?php // Copyright (c) Lellys Informática. All rights reserved. See License.txt in the project root for license information. namespace Collections; /**  * Provides functionality to evaluate queries against a specific data source wherein the type of the data is not  * specified.  */ interface CollectionInterface extends     ConstCollectionInterface,     OutputCollectionInterface {     /**      * Removes all items from the collection.      * @return void      */     public function clear(); }コレクションを取得するための構文は、データベースを取得する場合と同じです。コレクションはテーブルに相当します。 (リレーショナル データベースに精通している場合)

    その他の図書館115702018-01-23
  • <?php spl_autoload_register(function ($className) {     $className = ltrim($className, '\');     $fileName = '';     if ($lastNsPos = strripos($className, '\')) {         $namespace = substr($className, 0, $lastNsPos);         $className = substr($className, $lastNsPos + 1);         $fileName = str_replace('\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;     }     $fileName = __DIR__ . DIRECTORY_SEPARATOR . $fileName . $className . '.php';     if (file_exists($fileName)) {         require $fileName;         return true;     }     return false; });たとえば、call_user_func() 関数は、PHP の組み込み関数であるユーザー定義関数をパラメーターとして受け取ることができます。コールバック関数は関数だけでなく、オブジェクトのメソッドや静的クラスのメソッドも使用できます。 PHP 関数は関数名文字列として渡されます。array()、echo()、empty()、eval()、exit()、isset などの言語構造を除く、任意の組み込み関数またはユーザー定義関数を渡すことができます。 () 、list()、print()、unset() など。 オブジェクトのメソッドを渡したい場合は、配列の形式で渡す必要があります。配列の添字 0 がオブジェクト名、添字 1 がメソッド名です。オブジェクトとしてインスタンス化された静的クラスがない場合、そのメソッドを渡すには、配列 0 の添字で指定されたオブジェクト名をクラスの名前に置き換えます。

    その他の図書館78652018-01-22
  • <?php namespace Dflydev\Canal\Analyzer; use Dflydev\Canal\Metadata\Metadata; class AnalyzerTest extends \PHPUnit_Framework_TestCase {     public function testKnownType()     {         $analyzer = new Analyzer;         $internetMediaType = $analyzer->detectFromFilename('/path/to/some-file.html');         $this->assertEquals('text/html', $internetMediaType->asString());     }     public function testFallback()     {         $analyzer = new Analyzer;         $internetMediaType = $analyzer->detectFromFilename('/path/to/some-file.canal-extension-foo');         $this->assertEquals('application/octet-stream', $internetMediaType->asString());     }このライブラリは、Web サイトの完全なトラフィック、ユーザー構造、アクセス パス、アクセス コンテンツ、アクセスの場所などの主要な指標を詳細に追跡するための監視ツールを実装し、Web サイトの実際のトラフィックとアクセス エクスペリエンスを正確に反映します。ネットワークユーザーの数。

    その他の図書館81302018-01-22
  • <?php class ParaTestApplication extends Application {     const NAME = 'ParaTest';     const VERSION = '1.0.1';     public function __construct()     {         parent::__construct(static::NAME, VersionProvider::getVersion(static::VERSION));     }     public function doRun(InputInterface $input, OutputInterface $output)     {         $this->add(new ParaTestCommand(new PHPUnit()));         return parent::doRun($input, $output);     } 並列テスト技術は、テスト分野に並列技術を導入することによって形成された方法および技術です。これは、複数の被測定物 (UUT) を同時にテストするタスクをより適切に完了できる高度なテスト方法およびテクノロジです。並列テストは並列処理の概念に基づいています。並列テストの核心は、テスト対象の複数のオブジェクトを同時にテストできることです。並列テストは主に、異なるテスト対象を切り替えることで並列テストを実現します。各テスト対象オブジェクトのテスト プロセスは独立しており、並行して行われるため、あるテスト対象オブジェクトのテストを実行する前に、別のテスト対象オブジェクトのテストが完了するまで待つ必要はありません。ただし、各テスト対象の内部テスト プロセスは依然として順番にテストされるため、この並列テスト方法では、テスト システムのテスト パフォーマンスと機器の使用率の向上には限界があり、まだ改善の余地が多くあります。

    その他の図書館72182018-01-22
  • <?php namespace Symfony\Component\DependencyInjection; use Symfony\Component\DependencyInjection\Exception\BadMethodCallException; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Exception\OutOfBoundsException; class ChildDefinition extends Definition {     private $parent;     public function __construct(string $parent)     {         $this->parent = $parent;         $this->setPrivate(false);     }     public function getParent()     {         return $this->parent;     }依存性注入とは何ですか? IOC: 英語正式名: Inversion of Control、中国語名: Inversion of Control、Dependency Injection (DI) という別名もあります。クラスのインスタンスが別のクラスのインスタンスの支援を必要とする場合、従来のプログラミング プロセスでは、通常、呼び出し側が呼び出し先のインスタンスを作成します。依存関係の注入では、呼び出し先を作成する作業が呼び出し元によって実行されなくなるため、制御の反転と呼ばれます。呼び出し先のインスタンスを作成する作業は IOC コンテナーによって実行され、呼び出し元に注入されます。これは依存性注入とも呼ばれます。

    その他の図書館70962018-01-22
  • <?php function get_rand($proArr) {     $result = '';     //概率数组的总概率精度     $proSum = array_sum($proArr);     //概率数组循环     foreach ($proArr as $key => $proCur) {         $randNum = mt_rand(1, $proSum);         if ($randNum <= $proCur) {             $result = $key;             break;         } else {             $proSum -= $proCur;         }     }     unset ($proArr);     return $result; }prime 配列は、この宝くじのすべての賞品情報を記録する 2 次元配列です。id は当選レベルを表し、prise は賞品を表し、v は当選確率を表します。 v は整数である必要があることに注意してください。対応する賞の v を 0 に設定できます。これは、賞を獲得する確率が 0 であることを意味します。配列 (基数) 内の v の合計。基数が大きいほど、精度が高くなります。確率を反映できます。この例では、v の合計が 100 である場合、タブレットが当たる確率は 1% ですが、v の合計が 10,000 である場合、当たる確率は 1 万分の 1 です。 $proArr は事前に設定された配列です。配列が array(100,200,300,400) であるとします。まず、確率範囲 1,1000 から最初の数値をスクリーニングして、その出現確率範囲内にあるかどうかを確認します。そうでない場合は、確率空間とは、kの値から先ほどの数値を引いた確率空間で、この場合はマイナス100となり、2番目の数値が1,900の範囲でフィルタリングされることになります。このようにして、審査が終了するまで、必ず要件を満たす数字が存在します。それは箱の中のものに触れるのと同じで、最初のものがそこになく、2 つ目がそこになく、3 つ目が存在しない場合、最後のものが存在するはずです。このアルゴリズムはシンプルで非常に効率的です。重要なのは、このアルゴリズムが以前のプロジェクト、特に大量のデータを含むプロジェクトに適用されているということです。効率は非常に優れています。

    その他の図書館152242018-01-20
  • <?php function import($class, $baseUrl = '', $ext='.class.php') {     static $_file = array();     $class = str_replace(array('.', '#'), array('/', '.'), $class);     if ('' === $baseUrl && false === strpos($class, '/')) {         // 检查别名导入         return alias_import($class);     }     if (isset($_file[$class . $baseUrl]))         return true;     else         $_file[$class . $baseUrl] = true;     $class_strut = explode('/', $class);     if (empty($baseUrl)) {         if ('@' == $class_strut[0] || APP_NAME == $class_strut[0]) {             //加载当前项目应用类库             $baseUrl = dirname(LIB_PATH);             $class = substr_replace($class, basename(LIB_PATH).'/', 0, strlen($class_strut[0]) + 1);         }elseif ('think' == strtolower($class_strut[0])){ // think 官方基类库             $baseUrl = CORE_PATH;             $class = substr($class,6);         }elseif (in_array(strtolower($class_strut[0]), array('org', 'com'))) {             // org 第三方公共类库 com 企业公共类库             $baseUrl = LIBRARY_PATH;         }else { // 加载其他项目应用类库             $class = substr_replace($class, '', 0, strlen($class_strut[0]) + 1);             $baseUrl = APP_PATH . '../' . $class_strut[0] . '/'.basename(LIB_PATH).'/';         }     }必要なクラス ライブラリのインポートは Java のインポートと同じです#この関数にはキャッシュ機能があります##@param string $class class library namespace string @param string $baseUrl 開始パス@param string $ext インポートされたファイル拡張子

    その他の図書館101872018-01-20
  • <?php class MimeTypes {   public static $mime_types = array (     'apk' => 'application/vnd.android.package-archive',     '3gp' => 'video/3gpp',     'ai' => 'application/postscript',     'aif' => 'audio/x-aiff',     'aifc' => 'audio/x-aiff',     'aiff' => 'audio/x-aiff',     'asc' => 'text/plain',     'atom' => 'application/atom+xml',     'au' => 'audio/basic',     'avi' => 'video/x-msvideo',     'bcpio' => 'application/x-bcpio',     'bin' => 'application/octet-stream',     'bmp' => 'image/bmp',     'cdf' => 'application/x-netcdf',     'cgm' => 'image/cgm',     'class' => 'application/octet-stream',     'cpio' => 'application/x-cpio',     'cpt' => 'application/mac-compactpro',     'csh' => 'application/x-csh',     'css' => 'text/css',このクラス ライブラリはファイルの MIME タイプを取得できます。必要な友達はダウンロードして使用できます

    その他の図書館56862018-01-20
  • <?php class ArrayHelper{          static function removeEmpty(& $arr, $trim = TRUE)     {         foreach ($arr as $key => $value)         {             if (is_array($value))             {                 self::removeEmpty($arr[$key]);             }             else             {                 $value = trim($value);                 if ($value == '')                 {                     unset($arr[$key]);                 }                 elseif ($trim)                 {                     $arr[$key] = $value;                 }             }         }     }配列から空白要素を削除します (空白文字のみの要素も含む)使用法: @code php$arr = array('', 'test', ' ');ArrayHelper::removeEmpty($arr);dump($arr); そこにあります出力結果では「test」のみになります@endcode@param array $arr 処理対象の配列@param boolean $trim トリムを呼び出すかどうか配列要素に対する関数

    その他の図書館48752018-01-20
  • <?php class Logic_BlackWord {   const APP_FORUM = 1;   const APP_BLOG  = 2;   const APP_VOTE  = 3;   public function getHitList($txt)   {     $hitList = array();     $max = $this->getMax();     if($max)     {       $size = 1000;       $last = ceil($max/$size);       for($page=1;$page<=$last;$page++)       {         $result = $this->getHitListByPage($txt,$page,$size);         if($result) $hitList = array_merge($hitList,$result);       }     }     $hitList2 = array();     foreach($hitList as $hit=>$type)     {       $hitList2[$type][] = $hit;     }     return $hitList2;   }このクラス ライブラリの機密単語置換アルゴリズムは、str_replace (6,000 個の機密単語が添付) よりも効率的です。このクラス ライブラリは、私がトライ木を勉強していないときに作成されました。その後、AC に出会いました。このアルゴリズムは、AC と同様の構造とロジックを持っており、どちらもツリーを使用して空間と時間を交換するため、大量のデータの検索/置換に非常に役立ちます。 strtr は KMP アルゴリズムの代表的なアルゴリズムですが、大量の語彙を扱うことに利点がなく、毎回語彙ライブラリをメモリにロードする必要があります。 AC アルゴリズムを使用して拡張機能を作成し、語彙をメモリにロードすることが、これを処理する最良の方法です。 つまり、badword.src.php は、AC アルゴリズムの学習、検索と置換の学習などに使用できます。

    その他の図書館126162018-01-19
  • <?php class sqlsafe {   private $getfilter = "'|(and|or)\b.+?(>|<|=|in|like)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";   private $postfilter = "\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";   private $cookiefilter = "\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";   public function __construct() {     foreach($_GET as $key=>$value){$this->stopattack($key,$value,$this->getfilter);}     foreach($_POST as $key=>$value){$this->stopattack($key,$value,$this->postfilter);}     foreach($_COOKIE as $key=>$value){$this->stopattack($key,$value,$this->cookiefilter);}   }   public function stopattack($StrFiltKey, $StrFiltValue, $ArrFiltReq){     if(is_array($StrFiltValue))$StrFiltValue = implode($StrFiltValue);     if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue) == 1){       $this->writeslog($_SERVER["REMOTE_ADDR"]."    ".strftime("%Y-%m-%d %H:%M:%S")."    ".$_SERVER["PHP_SELF"]."    ".$_SERVER["REQUEST_METHOD"]."    ".$StrFiltKey."    ".$StrFiltValue);       showmsg('您提交的参数非法,系统已记录您的本次操作!','',0,1);     }   }   public function writeslog($log){     $log_path = CACHE_PATH.'logs'.DIRECTORY_SEPARATOR.'sql_log.txt';     $ts = fopen($log_path,"a+");     fputs($ts,$log."\r\n");     fclose($ts);   } }このクラス ライブラリは、最初に関数パラメータを構築し、次にログを確認して書き込み、最後に SQL インジェクション ログを確認します。 SQL インジェクションを防ぐための非常に便利な PHP クラス ライブラリです。

    その他の図書館101752018-01-19