ホームページ >見出し >9 つのキラー PHP プロジェクト、ぜひ集めて使用してください!

9 つのキラー PHP プロジェクト、ぜひ集めて使用してください!

青灯夜游
青灯夜游転載
2022-05-05 12:02:295130ブラウズ

PHP は長年にわたって開発されており、興味深いプロジェクトがたくさんあります。厄介な CRUD を取り除き、これらの楽しいプロジェクトについて学びましょう。

1. 高度な PHP 機械学習ライブラリである php-ai/php-ml

php-ml は、PHP を使用した機械学習の実装です。アルゴリズム、ニューラル ネットワーク、相互検証、前処理、特徴抽出、および人工知能の分野で一般的に使用されるその他の機能ソリューション。

公式では、次のような多くの事例も紹介しています。

  • 言語分類の検出

  • MNIST は手書きフォント (標準的な人工フォント) を認識します。インテリジェンス導入プロジェクト)

  • スパムフィルタリング

  • 記事分類

  • ワインの品質を予測

php-ml には、完全なドキュメントと豊富なブログ記事があります。しかし、これはすでに人工知能の分野であり、あなたの知識構造はしばらくの間使用できない可能性があります。

簡単な使用法は次のとおりです:

require_once __DIR__ . '/vendor/autoload.php';

use Phpml\Classification\KNearestNeighbors;

$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]];
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];

$classifier = new KNearestNeighbors();
$classifier->train($samples, $labels);

$classifier->predict([3, 2]);
// return 'b'

2. 高度な PHP ニューラル ネットワーク ライブラリである rindow/rindow-neuralnetworks

これも人工的 スマート プロジェクトは、PHP を使用して強力なマシン learning プロジェクトを実装できる高度な PHP ニューラル ネットワーク ライブラリです。

これには次の特徴があります:

  • DNN、CNN、RNN、およびアテンション機械学習モデルを簡単に実装できます

  • そしてPython の Keras は非常によく似ており、関連するエクスペリエンスを使用できます

  • 機械学習におけるマシン ビジョンと自然言語処理を提供します

  • 処理パフォーマンスは 2 倍ですtensorflow CPU

  • 特別な動作環境は必要なく、どのコンピュータ環境でも実行できます

  • 興味深いサンプル プログラムが付属しています

#また、パフォーマンスを向上させるための関連する計算拡張機能もあります。 GPU のコンピューティング能力を利用してパフォーマンスをさらに向上させることができる GPU の拡張機能もありますが、これはまだテスト段階です。

9 つのキラー PHP プロジェクト、ぜひ集めて使用してください!

3. 高度な PHP 機械学習および深層学習ライブラリであるrubix/ml

はい、ここでまた紹介します。 PHP 用のインテリジェンス ライブラリ。

彼には次の特徴があります:

  • 非常に開発者にとって使いやすいインターフェイス メソッド呼び出し

  • 40 種類の監視または教師なし学習メソッド

  • ETL、前処理、相互検証をサポート

上記 2 つと比較して、最も多くのチュートリアルとチュートリアルのサンプル プロジェクトが提供されます。サンプル プロジェクトには、離婚予測、DOTA2 勝率予測などが含まれており、Telegram グループのコミュニケーション チャネルも提供されています。

9 つのキラー PHP プロジェクト、ぜひ集めて使用してください!

4. nlp-tools/nlp-tools、初心者向けの準高度な自然言語処理ライブラリ

これは、人工知能における自然言語処理の分野を扱うために特別に設計されたライブラリであり、提供されるメソッドは以前のものよりも低レベルですが、依然としてエレガントに使用できます。

これには、複数の分類モデル、クラスタリング手法、単語セグメンター、データセットなどが組み込まれており、このコレクションに必要なほぼすべてのツールとデータが含まれています。

以前に紹介したいくつかのプロジェクトと比較して、自然言語の分野に特化して設計されており、初心者に非常に優しいです。豊富なドキュメントと、組み込みツールとデータの完全なセットが含まれています。

これは単語セグメンテーション効果のデモンストレーションです:

include('vendor/autoload.php');

use NlpTools\Tokenizers\WhitespaceAndPunctuationTokenizer;

$text = "Please allow me to introduce myself
        I'm a man of wealth and taste";

$tok = new WhitespaceAndPunctuationTokenizer();

print_r($tok->tokenize($text));

// Array
// (
//    [0] => Please
//    [1] => allow
//    [2] => me
//    [3] => to
//    [4] => introduce
//    [5] => myself
//    [6] => I
//    [7] => '
//    [8] => m
//    [9] => a
//    [10] => man
//    [11] => of
//    [12] => wealth
//    [13] => and
//    [14] => taste
// )

5.workerman/gateway-worker、分散ロング リンク サービス フレームワーク

GatewayWorker Workerman は、アプリ プッシュ サーバー、インスタント IM サーバー、ゲーム サーバー、モノのインターネット、スマート ホームなどの TCP 長時間接続アプリケーションを迅速に開発するために開発されたプロジェクト フレームワークに基づいています。

他のこのようなソリューションと比較すると、いくつかの比類のない利点があります。

  • 組み込みプロセス デーモン、シンプルなコマンド ラインを使用できる 安定した動作、実装の必要なしバックグラウンド操作またはデーモンを自分で処理する

  • 組み込みの分散設計により、コードを変更せずに分散展開を実現できます

  • 長いリンク操作を完了し、 UID の接続へのバインド、グループの接続へのバインド、SESSION の維持などが含まれます。

  • システム内でのプッシュ メッセージの標準的な使用方法を提供します。ゲートウェイ ネットワークにメッセージを送信できるクライアントを提供します。いつでも

gatewayworker は、長いリンク開発におけるほとんどすべての問題点を解決し、非常に使いやすいです。なお、これは長時間接続を想定したフレームワークであり、短い接続(UDP)の場合は別のソリューションが必要となります。

起動方法は次のとおりです。プロセス デーモンが確実に完了し、スムーズに再起動するために、これ以上の操作は必要ありません。

1) 開始

  • デバッグ モードで開始

  • php start.php start
  • デーモン モードで開始

    ##

    php start.php start -d

    #2) 停止
  • ##
    php start.php stop
##3) 再起動

#

php start.php restart
4) スムーズな再起動

php start.php reload
5) ステータスの確認

php start.php status

6、robmorgan/phinx,一个数据库迁移工具

什么是数据库迁移工具呢,你可以先这样理解,就是一个数据库导入工具。

一般的如果我们需要导入数据库,需要先去之前的数据库导出sql文件,然后到另一个站点上导入sql文件。似乎这是天经地义的,没什么更好的方法,再好一点也就是做一个一键安装脚本。

其实有更好的方案,就是用数据库迁移工具phinx,在安装数据库时,不需要导出和导入sql文件,而是直接使用phinx提供的方法,设计好表结构,然后通过phinx的命令导入。

这样有很多好处:

  • 更优雅的安装方式,与系统代码一起管理,无需导出sql文件

  • 支持数据库升级降级,可以跟随系统升级,自动对比数据表变化,不用担心数据丢失

  • 支持多款数据库,在phinx设计的表结构可以直接安装到Mysql、PostgreSQL、SQLite、SQL Server

phinx绝对是现代的程序安装解决方案,你值得投入精力去使用它。

它的基本的用法像这样:

<?php

use Phinx\Migration\AbstractMigration;

class CreateUserLoginsTable extends AbstractMigration
{
    public function change()
    {
        // 创建表结构
        $table = $this->table(&#39;user_logins&#39;);
        $table->addColumn(&#39;user_id&#39;, &#39;integer&#39;)
              ->addColumn(&#39;created&#39;, &#39;datetime&#39;)
              ->create();
    }
}

7、league/flysystem,一个PHP的万能的文件存储操作库

flysystem是一个PHP的文件操作库,比如文件的读取、写入、目录列表等等操作。与众不同的是,他是“万能的”。其实说它是万能的有些夸张了,但是他官方支持了以下系统:

  • 本地存储

  • FTP存储

  • SFTP存储

  • 内存存储

  • 亚马逊云存储

  • 谷歌云存储

  • WebDAV存储

在社区生态中,还支持我们经常接触的一些系统:

  • 阿里云存储

  • 七牛云存储

  • Dropbox存储

  • 腾讯云存储

  • 华为云存储

等等,如果你需要,也可以自定义驱动。

就像下面的代码一样,对文件的操作是通用兼容的,如果需要切换存储系统,换一个驱动就可以了。

// 设置驱动
$adapter = new League\Flysystem\Local\LocalFilesystemAdapter($rootPath);
$filesystem = new League\Flysystem\Filesystem($adapter);

// 操作文件、目录
$filesystem->write($path, $contents);
$filesystem->read($path);
$filesystem->delete($path);
$filesystem->listContents($path, $recursive);
$filesystem->fileExists($path);
$filesystem->has($path);
$filesystem->lastModified($path);
.....

8、PHP-CPP,一个C++的PHP扩展开发框架

相比介绍的前几个项目,PHP-CPP并不是一个PHP的扩展或库,它是一个C++的框架,用来开发PHP扩展。

众所周知,PHP的扩展开发很困难,你一搜PHP的扩展开发,所有人都告诉你那可怕的Zend API,就像遇见了伏地魔一样,人们不敢提起它。

PHP-CPP解决了这样的混乱的Zend API的问题,实际上他解决了很多问题,使用他开发PHP扩展,写起C++代码来就像写PHP一样,毕竟PHP的语法也参考了C风格。

就像下面这样,简单几行就完成了一个PHP扩展。

#include <phpcpp.h>
#include <iostream>

void myFunction()
{
    Php::out << "example output" << std::endl;
}

extern "C" {
    PHPCPP_EXPORT void *get_module() {
        static Php::Extension extension("my_extension", "1.0");
        extension.add<myFunction>("myFunction");
        return extension;
    }
}

PHP-CPP还提供了丰富的文档和注释,手把手教你如何注册函数、调用函数、匿名函数、类和对象、解析和构造、魔术方法等。

9、PHP-FPM,一个强大的稳定的HTTP服务框架

很多人总是忽视这个PHP-FPM,甚至嫌弃他。

实际上,PHP-FPM是一个大杀器,

  • 稳定的运行

  • 丰富的扩展

  • 性能进阶方案

在Web中仍然闪闪发光。

9 つのキラー PHP プロジェクト、ぜひ集めて使用してください!

原文地址:https://phpreturn.com/index/a624ac38895749.html

原文平台:phpreturn(PHP武器库)

声明:
この記事はtoutiao.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。