目次
1. ディスパッチ – マイクロフレームワーク
2. Klein – PHP の超高速ルーティング
3. ハム – キャッシュを備えたルーティング ライブラリ
4. 資産 – リソース管理
5. ImageWorkshop – レイヤーによる画像処理
6. Snappy – スナップショット/PDF ライブラリ
7. Idiorm – 軽量 ORM ライブラリ
8. アンダースコア – PHP のツールベルト
9. リクエスト – 単純な HTTP リクエスト
10. Buzz – シンプルな HTTP リクエスト ライブラリ
11. Goutte – Web スクレイピング ライブラリ
12. Carbon – DateTime 库
13. Ubench – 微型基准库
14. Validation – 输入验证引擎
15. Filterus – 过滤库
16. Faker – 假数据生成器
17. Mustache.php – 优雅模板库
18. Gaufrette – 文件系统抽象层
19. Omnipay – 支付处理库
20. Upload – 处理文件上传
21. HTMLPurifier – HTML XSS 防护
22. ColorJizz-PHP – 颜色操控库
23. PHP Geo – 地理位置定位库
24. ShellWrap – 优美的命令行包装器
ホームページ バックエンド開発 PHPチュートリアル PHP 開発者が知っておくべき 24 の PHP ライブラリ

PHP 開発者が知っておくべき 24 の PHP ライブラリ

Jun 20, 2016 pm 01:02 PM
phpバックエンド開発

PHP 開発者が知っておくべき 24 のライブラリ

PHP 開発者にとって、今は素晴らしい時代です。 Github では、簡単に見つけて使用できる便利なライブラリが毎日大量に配布されています。以下に、私がこれまで出会った中で最もクールなライブラリを 24 個紹介します。あなたのお気に入りの図書館がこのリストに載っていませんか?コメントでシェアしてください!

1. ディスパッチ – マイクロフレームワーク

Dispatch は小さな PHP フレームワークです。完全な MVC セットアップは提供されませんが、URL ルールとメソッドを定義してアプリケーションをより適切に編成できます。これは、API、単純なサイト、またはプロトタイプに最適です。

//包含库
include 'dispatch.php';

// 定义你的路由
get('/greet', function () {
  //渲染视图
    render('greet-form');
});

//post处理
post('/greet', function () {
    $name = from($_POST, 'name');
  // render a view while passing some locals
    render('greet-show', array('name' => $name));
});

// serve your site
dispatch();
ログイン後にコピー

特定の種類の HTTP リクエストとパスを照合したり、ビューをレンダリングしたり、その他のことを行うことができます。 Dispatch を他のフレームワークと組み合わせると、非常に強力で軽量なプログラムを作成できます。

2. Klein – PHP の超高速ルーティング

Klein は、PHP5.3+ 用のもう 1 つの軽量ルーティング ライブラリです。 Dispatch よりも構文が若干冗長ですが、非常に高速です。以下に例を示します:

respond('/[:name]', function ($request) {
    echo 'Hello ' . $request->name;
});
ログイン後にコピー

HTTP メソッドを指定し、パスに正規表現を使用するようにカスタマイズすることもできます。

respond('GET', '/posts', $callback);
respond('POST', '/posts/create', $callback);
respond('PUT', '/posts/[i:id]', $callback);
respond('DELETE', '/posts/[i:id]', $callback);

//匹配多种请求方法:
respond(array('POST','GET'), $route, $callback);

//你或许也想在相同的地方处理请求
respond('/posts/[create|edit:action] /[i:id] ', function ($request, $response) {
    switch ($request->action) {
        // do something
    }
});
ログイン後にコピー

これは小規模なプロジェクトには最適ですが、このようなライブラリを大規模なアプリケーションで使用する場合は、コードがすぐに保守不能になる可能性があるため、ルールに従う必要があります。したがって、Laravel や CodeIgniter のような完全に成熟したフレームワークを使用する方がよいでしょう。

3. ハム – キャッシュを備えたルーティング ライブラリ

Ham も軽量のルーティング フレームワークですが、キャッシュを使用してさらに高速な速度を実現します。これは、XCache/APC に関連するすべての I/O をキャッシュすることによって行われます。以下に例を示します:

require '../ham/ham.php';

$app = new Ham('example');
$app->config_from_file('settings.php');

$app->route('/pork', function($app) {
    return "Delicious pork.";
});

$hello = function($app, $name='world') {
    return $app->render('hello.html', array(
        'name' => $name
    ));
};
$app->route('/hello/', $hello);
$app->route('/', $hello);

$app->run();
ログイン後にコピー

このライブラリを使用するには、XCache と APC の少なくとも 1 つがインストールされている必要があります。これは、ほとんどのホスティング プロバイダーが提供するホストでは利用できない可能性があることを意味します。ただし、これらのいずれかがインストールされているホストがある場合、または Web サーバーを制御できる場合は、この最速のフレームワークを試してください。

4. 資産 – リソース管理

Assetic は、CSS/JS リソースをマージおよび削減するための PHP リソース管理フレームワークです。以下に例を示します。

use Assetic\Asset\AssetCollection;
use Assetic\Asset\FileAsset;
use Assetic\Asset\GlobAsset;

$js = new AssetCollection(array(
    new GlobAsset('/path/to/js/*'),
    new FileAsset('/path/to/another.js'),
));

//当资源被输出时,代码会被合并
echo $js->dump();
ログイン後にコピー

この方法でリソースを組み合わせると、サイトの速度が向上するため、良いアイデアになります。合計ダウンロード サイズが削減されるだけでなく、多数の不要な HTTP リクエストが削除されます (ページの読み込み時間に最も影響を与える 2 つの要素)

5. ImageWorkshop – レイヤーによる画像処理

ImageWorkshop は、レイヤー化された画像を操作できるオープンソース ライブラリです。これを使用すると、サイズ変更、トリミング、サムネイルの作成、透かしなどを行うことができます。以下に例を示します:

// 从norway.jpg图片初始化norway层
$norwayLayer = ImageWorkshop::initFromPath('/path/to/images/norway.jpg'); 

// 从watermark.png图片初始化watermark层(水印层)
$watermarkLayer = ImageWorkshop::initFromPath('/path/to/images/watermark.png'); 

$image = $norwayLayer->getResult(); // 这是生成的图片!

header('Content-type: image/jpeg');
imagejpeg($image, null, 95); // We choose to show a JPG with a quality of 95%
exit;
ログイン後にコピー

ImageWorkshop は、PHP で画像を操作するための最も一般的なユースケースのいくつかを簡素化するために開発されました。より強力なものが必要な場合は、Imagine ライブラリをチェックしてください。

6. Snappy – スナップショット/PDF ライブラリ

Snappy は、スナップショット、URL、HTML、PDF を生成できる PHP5 ライブラリです。これは、wkhtmltopdf バイナリ (Linux、Windows、および OSX で利用可能) に依存しています。次のように使用できます:

require_once '/path/to/snappy/src/autoload.php'; 

use Knp\Snappy\Pdf; 

//通过wkhtmltopdf binary路径初始化库
$snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); 

//通过把Content-type头设置为pdf来在浏览器中展示pdf

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"'); 

echo $snappy->getOutput('http://www.github.com');
ログイン後にコピー

ホスティングプロバイダーが外部バイナリの呼び出しを許可していない場合があることに注意してください。

7. Idiorm – 軽量 ORM ライブラリ

Idiorm は、以前この Web サイトのチュートリアルで使用した私のお気に入りです。これは軽量の ORM ライブラリであり、PDO 上に構築された PHP5 クエリ ビルダーです。これを使用すると、退屈な SQL の書き方を忘れることができます:

$user = ORM::for_table('user')
    ->where_equal('username', 'j4mie')
    ->find_one();

$user->first_name = 'Jamie';
$user->save();

$tweets = ORM::for_table('tweet')
    ->select('tweet.*')
    ->join('user', array(
        'user.id', '=', 'tweet.user_id'
    ))
    ->where_equal('user.username', 'j4mie')
    ->find_many();

foreach ($tweets as $tweet) {
    echo $tweet->text;
}
ログイン後にコピー

Idiorm には Paris という姉妹ライブラリがあり、これは Idiorm に基づいた Active Record 実装です。

8. アンダースコア – PHP のツールベルト

Underscore は、JavaScript アプリケーション用のツールベルトであるオリジナルの Underscore.js へのインターフェイスです。 PHP バージョンは期待を裏切らず、ほぼすべてのネイティブ機能をサポートしています。以下にいくつかの例を示します:

__::each(array(1, 2, 3), function($num) { echo $num . ','; }); // 1,2,3,

$multiplier = 2;
__::each(array(1, 2, 3), function($num, $index) use ($multiplier) {
  echo $index . '=' . ($num * $multiplier) . ',';
});
// prints: 0=2,1=4,2=6,

__::reduce(array(1, 2, 3), function($memo, $num) { return $memo + $num; }, 0); // 6

__::find(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // 2

__::filter(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // array(2, 4)
ログイン後にコピー

このライブラリはチェーン構文もサポートしているため、さらに強力になります

9. リクエスト – 単純な HTTP リクエスト

Requests は、HTTP リクエストを簡素化するライブラリです。あなたも私と同じで、Curl に渡されるさまざまなパラメータをほとんど覚えていない場合は、これが最適です:

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[…]"
ログイン後にコピー

このライブラリを使用すると、HEAD、GET、POST、PUT、DELTE、PATCH HTTP リクエストを送信したり、配列を介してファイルやパラメーターを追加したり、対応するすべてのデータにアクセスしたりできます。

10. Buzz – シンプルな HTTP リクエスト ライブラリ

Buzz は、HTTP リクエストを完了するためのもう 1 つのライブラリです。以下に例を示します:

$request = new Buzz\Message\Request('HEAD', '/', 'http://google.com');
$response = new Buzz\Message\Response();

$client = new Buzz\Client\FileGetContents();
$client->send($request, $response);

echo $request;
echo $response;
ログイン後にコピー

ドキュメントが不足しているため、サポートされているすべてのパラメーターを知るにはソース コードを読む必要があります。

11. Goutte – Web スクレイピング ライブラリ

Goutte は、Web サイトをクローリングしてデータを抽出するためのライブラリです。リモート ページから特定の要素を簡単に選択できるエレガントな API を提供します。

require_once '/path/to/goutte.phar'; 

use Goutte\Client; 

$client = new Client();
$crawler = $client->request('GET', 'http://www.symfony-project.org/'); 

//点击链接
$link = $crawler->selectLink('Plugins')->link();
$crawler = $client->click($link); 

//使用一个类CSS语法提取数据
$t = $crawler->filter('#data')->text(); 

echo "Here is the text: $t";
ログイン後にコピー

12. Carbon – DateTime 库

Carbon 是 DateTime API 的一个简单扩展。

printf("Right now is %s", Carbon::now()->toDateTimeString());
printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver'));

$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
$nextSummerOlympics = Carbon::createFromDate(2012)->addYears(4);

$officialDate = Carbon::now()->toRFC2822String();

$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;

$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London');

$endOfWorld = Carbon::createFromDate(2012, 12, 21, 'GMT');

//总是以UTC对比
if (Carbon::now()->gte($endOfWorld)) {
    die();
}

if (Carbon::now()->isWeekend()) {
    echo 'Party!';
}

echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2分钟之前'
ログイン後にコピー

13. Ubench – 微型基准库

Ubench 是一个用于评测PHP代码的微型库,可监控(代码)执行时间和内存使用率。下面是范例:

use Ubench\Ubench;

$bench = new Ubench;

$bench->start();

//执行一些代码

$bench->end();

//获取执行消耗时间和内存
echo $bench->getTime(); // 156ms or 1.123s
echo $bench->getTime(true); // elapsed microtime in float
echo $bench->getTime(false, '%d%s'); // 156ms or 1s

echo $bench->getMemoryPeak(); // 152B or 90.00Kb or 15.23Mb
echo $bench->getMemoryPeak(true); // memory peak in bytes 内存峰值
echo $bench->getMemoryPeak(false, '%.3f%s'); // 152B or 90.152Kb or 15.234Mb

//在结束标识处返回内存使用情况
echo $bench->getMemoryUsage(); // 152B or 90.00Kb or 15.23Mb
ログイン後にコピー

(仅)在开发时运行这些校验是一个好主意。

14. Validation – 输入验证引擎

Validation 声称是PHP库里最强大的验证引擎。但是,它能名副其实吗?看下面:

use Respect\Validation\Validator as v; 

//简单验证
$number = 123;
v::numeric()->validate($number); //true 

//链式验证
$usernameValidator = v::alnum()->noWhitespace()->length(1,15);
$usernameValidator->validate('alganet'); //true 

//验证对象属性
$user = new stdClass;
$user->name = 'Alexandre';
$user->birthdate = '1987-07-01'; 

//在一个简单链中验证他的属性
$userValidator = v::attribute('name', v::string()->length(1,32))
                  ->attribute('birthdate', v::date()->minimumAge(18)); 

$userValidator->validate($user); //true
ログイン後にコピー

你可以通过这个库验证你的表单或其他用户提交的数据。除此之外,它内置了很多校验,抛出异常和定制错误信息。

15. Filterus – 过滤库

Filterus是另一个过滤库,但它不仅仅可以验证,也可以过滤匹配预设模式的输出。下面是一个例子:

$f = Filter::factory('string,max:5');
$str = 'This is a test string'; 

$f->validate($str); // false
$f->filter($str); // 'This '
ログイン後にコピー

Filterus有很多内建模式,支持链式用法,甚至可以用独立的验证规则去验证数组元素。

16. Faker – 假数据生成器

Faker 是一个为你生成假数据的PHP库。当你需要填充一个测试数据库,或为你的web应用生成测试数据时,它能派上用场。它也非常容易使用:

//引用Faker 自动加载器
require_once '/path/to/Faker/src/autoload.php';

//使用工厂创建来创建一个Faker\Generator实例
$faker = Faker\Factory::create();

//通过访问属性生成假数据
echo $faker->name; // 'Lucy Cechtelar';

echo $faker->address;
  // "426 Jordy Lodge
  // Cartwrightshire, SC 88120-6700"

echo $faker->text;
  // Sint velit eveniet. Rerum atque repellat voluptatem quia ...
ログイン後にコピー

只要你继续访问对象属性,它将继续返回随机生成的数据。

17. Mustache.php – 优雅模板库

Mustache是一款流行的模板语言,实际已经在各种编程语言中得到实现。使用它,你可以在客户端或服务段重用模板。 正如你猜得那样,Mustache.php 是使用PHP实现的。

$m = new Mustache_Engine;
echo $m->render('Hello {{planet}}', array('planet' => 'World!')); // "Hello World!"
ログイン後にコピー

建议看一下官方网站Mustache docs 查看更多高级的例子。

18. Gaufrette – 文件系统抽象层

Gaufrette是一个PHP5库,提供了一个文件系统的抽象层。它使得以相同方式操控本地文件,FTP服务器,亚马逊 S3或更多操作变为可能。它允许你开发程序时,不用了解未来你将怎么访问你的文件。

use Gaufrette\Filesystem;
use Gaufrette\Adapter\Ftp as FtpAdapter;
use Gaufrette\Adapter\Local as LocalAdapter; 

//本地文件:
$adapter = new LocalAdapter('/var/media'); 

//可选地使用一个FTP适配器
// $ftp = new FtpAdapter($path, $host, $username, $password, $port); 

//初始化文件系统
$filesystem = new Filesystem($adapter); 

//使用它
$content = $filesystem->read('myFile');
$content = 'Hello I am the new content';
$filesystem->write('myFile', $content);
ログイン後にコピー

也有缓存和内存适配器,并且随后将会增加更多适配器。

19. Omnipay – 支付处理库

Omnipay是一个PHP支付处理库。它有一个清晰一致的API,并且支持数十个网关。使用这个库,你仅仅需要学习一个API和处理各种各样的支付处理器。下面是一个例子:

use Omnipay\CreditCard;
use Omnipay\GatewayFactory;

$gateway = GatewayFactory::create('Stripe');
$gateway->setApiKey('abc123');

$formData = ['number' => '4111111111111111', 'expiryMonth' => 6, 'expiryYear' => 2016];
$response = $gateway->purchase(['amount' => 1000, 'card' => $formData]);

if ($response->isSuccessful()) {
  //支付成功:更新数据库
    print_r($response);
} elseif ($response->isRedirect()) {
  //跳转到异地支付网关
    $response->redirect();
} else {
  //支付失败:向客户显示信息
    exit($response->getMessage());
}
ログイン後にコピー

使用相同一致的API,可以很容易地支持多种支付处理器,或在需要时进行切换。

20. Upload – 处理文件上传

Upload是一个简化文件上传和验证的库。上传表单时,这个库会校验文件类型和尺寸。

$storage = new \Upload\Storage\FileSystem('/path/to/directory');
$file = new \Upload\File('foo', $storage);

//验证文件上传
$file->addValidations(array(
  //确保文件类型是"image/png"
    new \Upload\Validation\Mimetype('image/png'),

  //确保文件不超过5M(使用"B","K","M"或者"G")
    new \Upload\Validation\Size('5M')
));

//试图上传文件
try {
    //成功
    $file->upload();
} catch (\Exception $e) {
    //失败!
    $errors = $file->getErrors();
}
ログイン後にコピー

它将减少不少乏味的代码。

21. HTMLPurifier – HTML XSS 防护

HTMLPurifier是一个HTML过滤库,通过强大的白名单和聚集分析,保护你代码远离XSS攻击。它也确保输出标记符合标准。

require_once '/path/to/HTMLPurifier.auto.php';

$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);
ログイン後にコピー

22. ColorJizz-PHP – 颜色操控库

ColorJizz是一个简单的库,借助它你可以转换不同的颜色格式,并且做简单的颜色运算

use MischiefCollective\ColorJizz\Formats\Hex;

$red_hex = new Hex(0xFF0000);
$red_cmyk = $hex->toCMYK();
echo $red_cmyk; // 0,1,1,0

echo Hex::fromString('red')->hue(-20)->greyscale(); // 555555
ログイン後にコピー

它已经支持并且可以操控所有主流颜色格式了

23. PHP Geo – 地理位置定位库

phpgeo是一个简单的库,用于计算地理坐标之间高精度距离。例如:

use Location\Coordinate;
use Location\Distance\Vincenty;

$coordinate1 = new Coordinate(19.820664, -155.468066); // Mauna Kea Summit 茂纳凯亚峰
$coordinate2 = new Coordinate(20.709722, -156.253333); // Haleakala Summit

$calculator = new Vincenty();
$distance = $calculator->getDistance($coordinate1, $coordinate2); // returns 128130.850 (meters; ≈128 kilometers)
ログイン後にコピー

24. ShellWrap – 优美的命令行包装器

借助 ShellWrap 库,你可以在PHP代码里使用强大的 Linux/Unix 命令行工具。

require 'ShellWrap.php';
use \MrRio\ShellWrap as sh; 

//列出当前文件下的所有文件
echo sh::ls(); 

//检出一个git分支
sh::git('checkout', 'master'); 

//你也可以通过管道把一个命令的输出用户另一个命令
//下面通过curl跟踪位置,然后通过grep过滤’html’管道来下载example.com网站
echo sh::grep('html', sh::curl('http://example.com', array(
    'location' => true
))); 

//新建一个文件
sh::touch('file.html'); 

//移除文件
sh::rm('file.html'); 

//再次移除文件(这次失败了,然后因为文件不存在而抛出异常)
try {
    sh::rm('file.html');
} catch (Exception $e) {
    echo 'Caught failing sh::rm() call';
}
ログイン後にコピー

当命令行里发生异常时,这个库抛出异常,所以你可以及时对之做出反应。它也可以通过管道让你一个命令的输出作为另一个命令的输入,来实现更强的灵活性。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? Apr 06, 2025 am 12:02 AM

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? phpstormでCLIモードをデバッグする方法は? Apr 01, 2025 pm 02:57 PM

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles