PHP發展了這麼多年,有許多有趣的項目。讓我們擺脫那些討厭的增刪改查,一起來了解這些有趣的項目。
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'
學習項目。
它有以下特點:他有這樣幾個特點:
它內建了多種分類模型,類聚方法,分詞器,資料集等等幾乎這領取所需的所有工具和資料。
與之前介紹的幾個項目相比,它是專門用來處理自然語言這一領域的,並且對初學者十分友好。有豐富的文檔,內建了齊全的工具和資料。
這裡示範分詞效果:
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,一個分散式的長連結服務框架
與其他的此類方案相比,它提供了這樣幾個無可比擬的優點:
它的啟動方式如下,無需更多操作,健壯地完成進程守護、平滑重啟。
1)啟動
php start.php start
php start.php start -d
php start.php stop
#php start.php restart
php start.php reload
# 什么是数据库迁移工具呢,你可以先这样理解,就是一个数据库导入工具。 一般的如果我们需要导入数据库,需要先去之前的数据库导出sql文件,然后到另一个站点上导入sql文件。似乎这是天经地义的,没什么更好的方法,再好一点也就是做一个一键安装脚本。 其实有更好的方案,就是用数据库迁移工具phinx,在安装数据库时,不需要导出和导入sql文件,而是直接使用phinx提供的方法,设计好表结构,然后通过phinx的命令导入。 这样有很多好处: 更优雅的安装方式,与系统代码一起管理,无需导出sql文件 支持数据库升级降级,可以跟随系统升级,自动对比数据表变化,不用担心数据丢失 支持多款数据库,在phinx设计的表结构可以直接安装到Mysql、PostgreSQL、SQLite、SQL Server phinx绝对是现代的程序安装解决方案,你值得投入精力去使用它。 它的基本的用法像这样: flysystem是一个PHP的文件操作库,比如文件的读取、写入、目录列表等等操作。与众不同的是,他是“万能的”。其实说它是万能的有些夸张了,但是他官方支持了以下系统: 本地存储 FTP存储 SFTP存储 内存存储 亚马逊云存储 谷歌云存储 WebDAV存储 在社区生态中,还支持我们经常接触的一些系统: 阿里云存储 七牛云存储 Dropbox存储 腾讯云存储 华为云存储 等等,如果你需要,也可以自定义驱动。 就像下面的代码一样,对文件的操作是通用兼容的,如果需要切换存储系统,换一个驱动就可以了。 相比介绍的前几个项目,PHP-CPP并不是一个PHP的扩展或库,它是一个C++的框架,用来开发PHP扩展。 众所周知,PHP的扩展开发很困难,你一搜PHP的扩展开发,所有人都告诉你那可怕的Zend API,就像遇见了伏地魔一样,人们不敢提起它。 PHP-CPP解决了这样的混乱的Zend API的问题,实际上他解决了很多问题,使用他开发PHP扩展,写起C++代码来就像写PHP一样,毕竟PHP的语法也参考了C风格。 就像下面这样,简单几行就完成了一个PHP扩展。 PHP-CPP还提供了丰富的文档和注释,手把手教你如何注册函数、调用函数、匿名函数、类和对象、解析和构造、魔术方法等。 很多人总是忽视这个PHP-FPM,甚至嫌弃他。 实际上,PHP-FPM是一个大杀器, 稳定的运行 丰富的扩展 性能进阶方案 在Web中仍然闪闪发光。 原文地址:https://phpreturn.com/index/a624ac38895749.html 原文平台:phpreturn(PHP武器库)php start.php status
6、robmorgan/phinx,一个数据库迁移工具
<?php
use Phinx\Migration\AbstractMigration;
class CreateUserLoginsTable extends AbstractMigration
{
public function change()
{
// 创建表结构
$table = $this->table('user_logins');
$table->addColumn('user_id', 'integer')
->addColumn('created', 'datetime')
->create();
}
}
7、league/flysystem,一个PHP的万能的文件存储操作库
// 设置驱动
$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扩展开发框架
#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;
}
}
9、PHP-FPM,一个强大的稳定的HTTP服务框架