>  기사  >  9가지 킬러 PHP 프로젝트, 와서 모아서 사용해 보세요!

9가지 킬러 PHP 프로젝트, 와서 모아서 사용해 보세요!

青灯夜游
青灯夜游앞으로
2022-05-05 12:02:294999검색

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.rindow/rindow-neuralnetworks, 고급 PHP 신경망 라이브러리

이것도 인공지능 프로젝트, 고급 PHP 신경망 라이브러리입니다. PHP를 사용할 수 있습니다. 강력한 기계 learning 프로젝트.

다음 기능이 있습니다.

  • DNN, CNN, RNN 및 Attention 머신러닝 모델을 쉽게 구현할 수 있습니다.

  • Python의 Keras와 매우 유사하며 관련 경험을 사용할 수 있습니다

  • 머신러닝 제공 머신 비전 및 자연어 처리

  • 처리 성능은 텐서플로우 CPU의 2배

  • 특별한 운영 환경이 필요 없으며 모든 컴퓨터 환경에서 실행 가능

  • 흥미로운 샘플 프로그램 제공

그리고 성능 향상을 위한 관련 컴퓨팅 확장도 있습니다. GPU의 컴퓨팅 성능을 사용하여 성능을 더욱 향상시킬 수 있는 GPU 확장도 있지만 아직 테스트 단계입니다.

9가지 킬러 PHP 프로젝트, 와서 모아서 사용해 보세요!

3. 고급 PHP 기계 학습 및 딥 러닝 라이브러리인 rubix/ml

예, 여기 또 다른 PHP 인공 지능 라이브러리가 있습니다.

다음 기능이 있습니다:

  • 매우 개발자 친화적인 인터페이스 메서드 호출

  • 40개 이상의 지도 또는 비지도 학습 방법

  • ETL, 전처리 및 교차 검증 지원

비교 두 가지 이상으로 가장 많은 튜토리얼과 샘플 프로젝트를 제공하며 그 중 더 흥미로운 것에는 이혼 예측, DOTA2 승률 예측 등이 ​​포함되며 텔레그램 그룹을 위한 커뮤니케이션 채널도 제공됩니다.

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, 분산형 Long Link 서비스 프레임워크

GatewayWorker는 Workerman을 기반으로 개발된 프로젝트 프레임워크로 TCP Long을 빠르게 개발하는 데 사용됩니다. 앱 푸시 서버, 인스턴트 IM 서버, 게임 서버, 사물 인터넷, 스마트 홈 등과 같은 연결 애플리케이션

다른 솔루션과 비교할 때 비교할 수 없는 몇 가지 장점을 제공합니다.

  • 배경 작업을 구현하거나 데몬을 직접 처리할 필요 없이 간단한 명령줄을 통해 안정적으로 실행할 수 있는 내장 프로세스 데몬

  • 코드 수정 없이 분산 배포를 실현할 수 있는 분산 설계 내장

  • 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으로 문의하시기 바랍니다. 삭제