<?php class WeChatMenu{ private $AppId = ""; //公共平台提供的AppId private $AppSecret = ""; //公共平台提供的AppSecret public $AccessToken = ""; //公共平台提供的AccessToken private $platform = "weixin"; //平台类型。如果是易信,则为 "weixin"; 如果是易信,则为 "yixin" public $host = "api.weixin.qq.com"; ///平台服务器. 微信为api.weixin.qq.com, 易信为api.yixin.im public $errcode = 0; //错误代码 public $errmsg = ""; //错误信息文本これはメニュー ライブラリです1. 単一の第 1 レベル メニューを追加します addSingleMenu($name,$type,$value) 2. 追加サブメニュー メニューの種類を設定します addMenuItem($name,$type,$value) 3. いくつかのバグを修正します
<?php namespace iter; use iter\fn; use PHPUnit\Framework\TestCase; class IterFnTest extends TestCase { public function testIndex() { $getIndex3 = fn\index(3); $getIndexTest = fn\index('test'); $arr1 = [10, 11, 12, 13, 14, 15]; $arr2 = ['foo' => 'bar', 'test' => 'tset', 'bar' => 'foo']; $this->assertSame($arr1[3], $getIndex3($arr1)); $this->assertSame($arr2['test'], $getIndexTest($arr2)); } public function testNestedIndex() { $getIndexFooBar = fn\nested_index('foo', 'bar'); $getIndexFooBarBaz = fn\nested_index('foo', 'bar', 'baz'); $getEmptyIndex = fn\nested_index(); $array = [ 'foo' => [ 'bar' => [ 'baz' => 42 ] ] ]; $this->assertSame($array['foo']['bar'], $getIndexFooBar($array)); $this->assertSame($array['foo']['bar']['baz'], $getIndexFooBarBaz($array)); $this->assertSame($array, $getEmptyIndex($array)); }これは、ジェネレーター用の反復プリミティブを提供する PHP ライブラリです。必要な友人が直接ダウンロードして使用できるので、非常に便利です。
<?php spl_autoload_register(function ($className) { $prefix = 'galapagos\'; $basePath = __DIR__.'/src/'; if (strncmp($prefix, $className, strlen($prefix)) === 0) { require $basePath.str_replace('\', '/', substr($className, strlen($prefix))).'.php'; } }); require __DIR__.'/src/core.php'; require __DIR__.'/src/php54.php';これは言語変換と進化のための PHP ライブラリです。必要な友人は直接ダウンロードできます。
<?php BILITY OF SUCH DAMAGE. */ namespace Hoa\Eventsource; use Hoa\Exception as HoaException; /** * Class \Hoa\Eventsource\Exception. * * Extending the \Hoa\Exception\Exception class. * * @copyright Copyright © 2007-2017 Hoa community * @license New BSD License */ class Exception extends HoaException { }少し前、バージョンを公開するたびに多くのコマンドを入力する必要がないように、自動デプロイメント ツールのエッセイを Web シェルでラップする方法を考えていました。いくつかのボタンを押すだけで完了し、バージョンの公開にかかる時間も短縮できます。精神的な負担も軽減されます。その際の主な問題は、もともとターミナル上に出力されていた結果を、Web インターフェイスにリアルタイムでどのように出力するかということでした。最終的に、EventSource を発見しました。IE ブラウザを除いて、他のブラウザには、EventSource がサポートされていませんでした。このオブジェクトは、私のニーズを非常によく満たします。そこで、非常に使いやすい Eventsource-masterPHP イベント ソース ライブラリがあり、必要な友人がダウンロードして使用できます。
<?php require 'vendor/autoload.php'; use Jenssegers\Date\Date; $translations = array(); foreach ($months as $month) { $date = new Date($month); $translation = strftime('%B', $date->getTimestamp()); $translations[$month] = $translation; echo "'" . $month . "'\t=> '" . $translation . "',\n"; } echo "\n"; foreach ($days as $day) { $date = new Date($day); $translation = strftime('%A', $date->getTimestamp()); $translations[$day] = $translation; echo "'" . $day . "'\t=> '" . $translation . "',\n"; }このライブラリは多言語で構成されたPHPであり、どの国の言語でも直接呼び出すことができ、大変便利です。
<?php namespace igorw; class ComposeTest extends \PHPUnit_Framework_TestCase { /** * @expectedException InvalidArgumentException */ function testComposeWithoutArgs() { compose(); } function testComposeWithSingleFunc() { $id = function ($x) { return $x; }; $composed = compose($id); $this->assertNull($composed(null)); $this->assertTrue($composed(true)); $this->assertFalse($composed(false)); $this->assertSame('foo', $composed('foo')); } function testComposeWithMultipleFuncs() { $composed = compose( function ($x) { return "baz($x)"; }, function ($x) { return "bar($x)"; }, function ($x) { return "foo($x)"; } ); $this->assertSame('baz(bar(foo(x)))', $composed('x')); }Compose は Docker のサービス オーケストレーション ツールで、主に Docker に基づいた複雑なアプリケーションを構築するために使用されます。Compose は構成ファイルを通じて複数の Docker コンテナを管理します。これは、複数のコンテナが開発のために結合されるシナリオに非常に適しています。
<?php use Tackk\Cartographer\AbstractSitemap; class MockAbstractSitemap extends AbstractSitemap { protected function getRootNodeName() { return 'urlset'; } protected function getNodeName() { return 'url'; } } class AbstractSitemapTest extends PHPUnit_Framework_TestCase { /** * @var Tackk\Cartographer\AbstractSitemap */ protected $abstractMock; public function setUp() { $this->abstractMock = new MockAbstractSitemap(); } public function testFormatDateWithDates() { $this->assertEquals('2005-01-01T00:00:00+00:00', $this->callProtectedMethod('formatDate', ['2005-01-01'])); $this->assertEquals('2005-01-01T00:00:01+00:00', $this->callProtectedMethod('formatDate', ['2005-01-01 12:00:01am'])); }Google Cartographer は、位置決めとマッピングの同時テクノロジーを使用して、屋内建築フロア プランを描画します。2 次元および 3 次元空間でのマッピングに使用でき、非 ros (ロボット オペレーティング システム) システムやロスシステム。 Googleの説明によると、この技術はロボット、無人運転、ドローンなどのシステムの導入が容易だという。 Google は公式声明の中で、Cartographer の SLAM アルゴリズムは、LiDAR ライダー センサー、IMU 慣性測定ユニット、複数のカメラからのデータなど、複数のセンサーからのデータを組み合わせていると述べました。これらの複雑なデータを組み合わせることで、センサーとセンサーの周囲の環境を計算できます。 Cartographer は現在、Toyota HSR、TurtleBots、PR2、および RevoLDS ロボット プラットフォームをサポートしていると報告されています。
<?php namespace SensioLabs\AnsiConverter\Tests; use SensioLabs\AnsiConverter\AnsiToHtmlConverter; class AnsiToHtmlConverterTest extends \PHPUnit_Framework_TestCase { /** * @dataProvider getConvertData */ public function testConvert($expected, $input) { $converter = new AnsiToHtmlConverter(); $this->assertEquals($expected, $converter->convert($input)); } public function getConvertData() { return array( // text is escaped array('<span style="background-color: black; color: white">foo <br /></span>', 'foo <br />'), // newlines are preserved array("<span style=\"background-color: black; color: white\">foo\nbar</span>", "foo\nbar"), // backspaces array('<span style="background-color: black; color: white">foo </span>', "foobar\x08\x08\x08 "), array('<span style="background-color: black; color: white">foo</span><span style="background-color: black; color: white"> </span>', "foob\e[31;41ma\e[0mr\x08\x08\x08 "), // color array('<span style="background-color: darkred; color: darkred">foo</span>', "\e[31;41mfoo\e[0m"), // color with [m as a termination (equivalent to [0m]) array('<span style="background-color: darkred; color: darkred">foo</span>', "\e[31;41mfoo\e[m"), // bright color array('<span style="background-color: red; color: red">foo</span>', "\e[31;41;1mfoo\e[0m"), // carriage returns array('<span style="background-color: black; color: white">foobar</span>', "foo\rbar\rfoobar"), // underline array('<span style="background-color: black; color: white; text-decoration: underline">foo</span>', "\e[4mfoo\e[0m"), // non valid unicode codepoints substitution (only available with PHP >= 5.4) PHP_VERSION_ID < 50400 ?: array('<span style="background-color: black; color: white">foo '."\xEF\xBF\xBD".'</span>', "foo \xF4\xFF\xFF\xFF"), ); } }ANSI は文字コードで、コンピュータがより多くの言語をサポートできるようにするために、通常、英語 1 文字を表すのに 0x00 ~ 0x7f の範囲の 1 バイトが使用されます。この範囲外のものは、拡張 ASCII エンコードである 0x80~0xFFFF を使用してエンコードされます。 HTML はハイパーテキスト マークアップ言語であり、標準ユニバーサル マークアップ言語に基づくアプリケーションです。 「ハイパーテキスト」とは、ページに画像、リンク、さらには音楽やプログラムなどの非テキスト要素を含めることができることを意味します。ハイパーテキストマークアップ言語の構造は、「ヘッド」部分(英語:Head)と「ボディ」部分(英語:)で構成されます。
<?php namespace PhpAmqpLib\Channel; use PhpAmqpLib\Exception\AMQPBasicCancelException; use PhpAmqpLib\Exception\AMQPProtocolChannelException; use PhpAmqpLib\Exception\AMQPRuntimeException; use PhpAmqpLib\Message\AMQPMessage; use PhpAmqpLib\Wire\AMQPReader; use PhpAmqpLib\Wire\AMQPWriter; class AMQPChannel extends AbstractChannel { /** @var array */ public $callbacks = array(); /** @var bool Whether or not the channel has been "opened" */ protected $is_open = false; /** @var int */ protected $default_ticket; /** @var bool */ protected $active; /** @var array */ protected $alerts; /** @var bool */ protected $auto_decode;AMQP (Advanced Message Queuing Protocol) は、統合メッセージ サービスを提供するアプリケーション層標準の高度なメッセージ キューイング プロトコルです。アプリケーション層プロトコルのオープン標準であり、メッセージ指向ミドルウェア向けに設計されています。このプロトコルに基づくクライアントとメッセージ ミドルウェアはメッセージを送信でき、さまざまなクライアント/ミドルウェア製品、さまざまな開発言語などによる制限を受けません。 Erlang での実装には RabbitMQ などが含まれます。
<?php $error_level = E_ALL & E_STRICT; ini_set('error_reporting', $error_level); ini_set('display_errors', 1); $tcryptoLocation = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'TCrypto'; require $tcryptoLocation . DIRECTORY_SEPARATOR . 'Loader.php'; require 'apps.php'; $loader = new TCrypto\Loader(); $loader->register(); $settings = new TCrypto\Tools\SettingStore(); $cli = new TCrypto\Tools\Cli\Horde\Cli(); if (file_exists('keytool.config.php')) { $optionParser = new TCrypto\Tools\ArrayOptionParser('keytool.config.php'); }TCrypto は、簡単に暗号化と復号化ができるライブラリで、ネットワーク上で送信する必要があるデータの暗号化に使用できます。非対称暗号化を使用できます: 公開キー暗号化、秘密キー復号化。 openssl は RSA のサポートを提供しますが、RSA には計算効率が低いという問題があるため、一般的なアプローチは、対称キーを使用してデータを暗号化し、次に非対称キーを使用して一時的に生成された現在のみ有効な対称キーを使用することです。公開鍵は暗号化された後、対象者に渡され、対象者は合意された非対称鍵内の秘密鍵を使用して復号し、データ暗号化用の鍵を取得し、データを復号してデータを取得します。この方法は非常に一般的であり、HTTPS に合わせたものであると考えられます。対称キー暗号化では、DES よりも優れた AES を選択できます。 ソース コードをダウンロードした後、コンパイルを開始します: ダイナミック ライブラリを生成する方法: 1. ActivePerl をインストールします2. OpenSSL を見つけて実行します:perl Configure VC-WIN32 --prefix=C:\openssl-dll3. VC/BIN ディレクトリに入り、VCVARS32.BAT を実行して環境変数 4. OpenSSL ディレクトリに戻り、ms\do_ms を実行します。5. OpenSSL ディレクトリでコンパイルを実行します。nmake -f ms\ntdll.mak6. 必要な製品をディレクトリにコピーします。プレフィックス nmake -f ms\ntdll .mak install で定義されます注: ntdll.mak ファイルの CFLAG を変更することで、MT および MD ライブラリのコンパイルを確認できます 静的ライブラリの生成方法:1. ActivePerl をインストールします 2. perl VC-WIN32 を設定します --prefix=C:\openssl-lib3. ms\do_ms.bat 4. nmake -f ms\nt .mak5, nmake -f ms\nt.mak install注: MT および MD ライブラリのコンパイルを確認するには、以下を変更します。 nt.mak ファイル内の CFLAG。再編集する場合は、生成されたオブジェクトを削除してください。
SecurityMultiTool-masterPHP セキュリティ ライブラリは、使いやすく、適切に構造化され、高速で、PHP のような Web アプリケーション向けに特別に設計された高度なセキュリティ層のセットです。この侵入検知システムは、緩和やウイルス対策のメカニズムを提供しておらず、悪意のある入力コンテンツをフィルタリングすることもありません。その機能は単に、攻撃者がサイトに対して実行した悪意のあるアクティビティを識別し、誰もが必要とする方法でタイムリーなリマインダーを提供することだけです。一連の実証済みの非常に厳格なフィルタリング ルールを使用して、検出システムはあらゆる攻撃アクティビティに影響評価値を与え、ユーザーが現在のハッカー攻撃への対応方法をより簡単に理解できるようにします。対応方法は数多くあります。たとえば、緊急メールで開発チームにログ レコードを送信するだけでなく、攻撃者に関する警告メッセージを表示したり、ユーザーの現在のセッションを直ちに終了したりすることもできます。
疑似データ ジェネレーターは、特定のデータ ルールに従って大量のデータを生成し、teradata データ インポートと oracle データ インポートをサポートします。 ソフトウェア機能: 大量のデータの下でソフトウェアのパフォーマンスをテストするために、大量のデータをデータベースにインポートします。 rreeee