Home >headlines >[Recommendation] 8 practical PHP libraries worth collecting

[Recommendation] 8 practical PHP libraries worth collecting

青灯夜游
青灯夜游Original
2022-12-19 15:00:372414browse

PHP Chinese website has compiled 8 practical PHP libraries with high stars on github for students to improve development efficiency.

1.pinyin (Chinese pinyin conversion tool)

Project address: https://github.com/overtrue/pinyin

Chinese to Pinyin tool based on CC-CEDICT dictionary, a more accurate Chinese character to Pinyin solution that supports multi-phonetic characters, sample code:

se OvertruePinyinPinyin;

$pinyin = new Pinyin();

$pinyin->convert('带着希望去旅行,比到达终点更美好');
// ["dai", "zhe", "xi", "wang", "qu", "lv", "xing", "bi", "dao", "da", "zhong", "dian", "geng", "mei", "hao"]

$pinyin->convert('带着希望去旅行,比到达终点更美好', PINYIN_UNICODE);
// ["dài","zhe","xī","wàng","qù","lǚ","xíng","bǐ","dào","dá","zhōng","diǎn","gèng","měi","hǎo"]

$pinyin->convert('带着希望去旅行,比到达终点更美好', PINYIN_ASCII);
//["dai4","zhe","xi1","wang4","qu4","lv3","xing2","bi3","dao4","da2","zhong1","dian3","geng4","mei3","hao3"]

2 .php-curl-class (PHP cURL library)

Project address: https://github.com/php-curl-class/php-curl-class

This open source project encapsulates PHP's cURL library, making it easy to send HTTP requests. Suitable for situations that require PHP crawlers or other simulated HTTP access, sample code:

<?php
// 获取豆瓣电影示例
require &#39;../vendor/autoload.php&#39;;
use Curl\Curl;

$curl = new Curl();
$url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E8%B1%86%E7%93%A3%E9%AB%98%E5%88%86&sort=time&page_limit=20&page_start=1";
$curl->get($url);
$curl->setOpt(CURLOPT_SSL_VERIFYPEER, false);
$curl->close();
var_dump($curl->getResponse());exit;

[Recommendation] 8 practical PHP libraries worth collecting

3.parsedown (Markdown parsing library)

Project address: https://github.com/erusev/parsedown

A small and beautiful PHP Markdown parsing library. This library provides the function of converting standard Markdown text into HTML strings and has good documentation. It has only one main file and has almost no dependencies except that the PHP version must be higher than 5.3. It can be introduced through composer, or the Parsedown.php file can be used directly. A large number of regular expressions are used in this project, which can be used as an example for learning regular expressions, and there are complete unit tests. Sample code:

$Parsedown = new Parsedown();
echo $Parsedown->text(&#39;Hello _Parsedown_!&#39;); # prints: <p>Hello <em>Parsedown</em>!</p>

4.dompdf (HTML to PDF)

Project address: https://github.com/ dompdf/dompdf

A PHP library for converting HTML to PDF. Sample code:

// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml(&#39;hello world&#39;);

// (Optional) Setup the paper size and orientation
$dompdf->setPaper(&#39;A4&#39;, &#39;landscape&#39;);

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$dompdf->stream();

5.PHPWord (e-commerce platform)

Project address: https://github.com/ PHPOffice/PHPWord

provides a PHP library for reading/writing multiple document file formats. Supports Microsoft Office, rich text (RTF) and other document formats

<?php
require_once &#39;bootstrap.php&#39;;

// 新建文档
$phpWord = new \PhpOffice\PhpWord\PhpWord();

// Adding an empty Section to the document...
$section = $phpWord->addSection();
// Adding Text element to the Section having font styled by default...
$section->addText(
    &#39;"Learn from yesterday, live for today, hope for tomorrow. &#39;
        . &#39;The important thing is not to stop questioning." &#39;
        . &#39;(Albert Einstein)&#39;
);

6.easy-sms (SMS sending)

project Address: https://github.com/overtrue/easy-sms

SMS sending PHP component. Features:

  • Supports multiple service providers currently on the market

  • One writing method is compatible with all platforms

  • Simple configuration allows you to flexibly add or remove service providers

  • Built-in multiple service provider polling strategies and support custom polling strategies

use Overtrue\EasySms\EasySms;

$config = [
    // HTTP 请求的超时时间(秒)
    &#39;timeout&#39; => 5.0,

    // 默认发送配置
    &#39;default&#39; => [
        // 网关调用策略,默认:顺序调用
        &#39;strategy&#39; => \Overtrue\EasySms\Strategies\OrderStrategy::class,

        // 默认可用的发送网关
        &#39;gateways&#39; => [
            &#39;yunpian&#39;, &#39;aliyun&#39;,
        ],
    ],
    // 可用的网关配置
    &#39;gateways&#39; => [
        &#39;errorlog&#39; => [
            &#39;file&#39; => &#39;/tmp/easy-sms.log&#39;,
        ],
        &#39;yunpian&#39; => [
            &#39;api_key&#39; => &#39;824f0ff2f71cab52936axxxxxxxxxx&#39;,
        ],
        &#39;aliyun&#39; => [
            &#39;access_key_id&#39; => &#39;&#39;,
            &#39;access_key_secret&#39; => &#39;&#39;,
            &#39;sign_name&#39; => &#39;&#39;,
        ],
        //...
    ],
];

$easySms = new EasySms($config);

$easySms->send(13188888888, [
    &#39;content&#39;  => &#39;您的验证码为: 6379&#39;,
    &#39;template&#39; => &#39;SMS_001&#39;,
    &#39;data&#39; => [
        &#39;code&#39; => 6379
    ],

7.YOURLS (short URL generation)

Project address: https://github.com/YOURLS/YOURLS

Completely free URL shortening service. A short URL service written in PHP. It is completely open source and can be used to build services by yourself. It supports data statistics, geographical location, visualization and other functions.

[Recommendation] 8 practical PHP libraries worth collecting

##8.php-console (PHP command line application library)

Project address : https://github.com/inhere/php-console

A simple-to-use, comprehensive-featured PHP command line application library. Provides console parameter parsing, command running, color style output, user information interaction and other functions

[Recommendation] 8 practical PHP libraries worth collecting

Opening notice:

php中文网's "22nd PHP Online Live Class" has officially started registration!

[Recommendation] 8 practical PHP libraries worth collecting

Teaching format:

1. Starting from scratch, from front-end to back-end, systematic learning !

2. Simultaneous recording of live broadcast, internal group, teacher homework correction, tutoring and answering, supervision of learning

Limited activities:

1. Top 50 Each student who signs up will receive three practical courses as a gift, first come first served, while supplies last!

2. When you sign up, you will receive a complete set of PHP courses (great value), study before class! (Limited to the first 10)

Registration consultation↓↓↓

QQ registration: 27220243 (Teacher Zhong)

WeChat registration: phpcn01 (月月teacher)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn