tekintian / pinyin_utils
汉字转拼音工具,支持自定义转换方式[全拼,首字母,第一个字母],支持自定义拼音字典,目前提供2个拼音字典,精简版共收录9千多常用汉字,完整版共收录20902个基本汉字+5059生僻字。
This package is auto-updated.
Last update: 2024-09-24 05:25:59 UTC
README
目前最全面的汉字词典
包含20902个基本汉字+5059生僻字
使用方法
- 载入本工具类
composer require tekintian/pinyin_utils
- 使用本工具
<?php // 载入自动加载: 如果使用框架的话这个步骤可以忽略。 require_once __DIR__ . '/vendor/autoload.php'; use \tekintian\pinyin_utils\Pinyin; // 拼音转换测试 $py = Pinyin::convert("云南网"); echo $py;
源代码
如何以PSR-4方式自动加载?
PSR-4是PHP中最新的自动加载标准,它强制我们使用命名空间。
为了使用PSR-4自动加载我们的类,我们需要执行以下步骤
a. 将要自动加载的类放在一个专门的目录中。例如,通常将我们自己编写的类放入名为src/的目录中,从而创建以下文件夹结构
your-website/ src/ Db.php Page.php User.php
b. 给类命名空间。我们必须给src/目录中的所有类赋予相同的命名空间。例如,让我们给类命名空间为Acme。这是Page类的样子
<?php namespace Acme; class Page { public function __construct() { echo "hello, i am a page."; } }
我们给src/目录中的所有类赋予相同的命名空间Acme。c. 在composer.json文件中将命名空间指向src/目录。我们将包含类的目录指向composer.json文件中的命名空间。例如,这是在composer.json文件中指定我们将src/目录中的类命名为Acme的示例
{ "autoload": { "psr-4": { "Acme\\":"src/" } } }
-
我们使用psr-4键。
命名空间Acme指向src/目录。命名空间必须以\结尾。例如,"Acme\"。您可以用您品牌或网站的名称替换通用的Acme。
d. 更新Composer自动加载器
$ composer dumpautoload -o
e. 在脚本中导入命名空间。脚本需要导入命名空间以及自动加载器,例如index.php
<?php require "vendor/autoload.php"; use Acme\Db; use Acme\User; use Acme\Page; $page1 = new Page();
如果目录结构复杂,如何自动加载?到目前为止,我们已经演示了在src/文件夹直接下找到的类的自动加载,但如何自动加载在子目录中找到的类?例如,我们可能希望将Page类移动到Pages目录中,从而创建以下目录树
your-website/ src/ Db.php User.php Pages/ Page.php
我们需要遵循以下步骤:a. 重新定义命名空间。我们需要根据Page类在src/Pages目录中的新位置给Page类一个命名空间。
<?php namespace Acme\Pages; public class Page { function __construct() { echo "hello, i am a page."; } }
b. 在脚本中使用命名空间
<?php require "vendor/autoload.php"; use Acme\Db; use Acme\User; use Acme\Pages\Page; $page1 = new Page();
结论
正如我们在最后两个教程中所展示的,Composer是一个强大的工具,可以帮助我们管理和自动加载自己的类以及其他类。现在,我们有了这样一个强大的工具,我们有权利充分利用现代PHP所能提供的最佳功能!
https://phpenthusiast.com/blog/how-to-autoload-with-composer https://phpenthusiast.com/object-oriented-php-tutorials