You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将phpSyllable作为CodeIgniter库使用?主类在src子文件夹无法加载

解决phpSyllable作为CodeIgniter库加载的问题

方法一:创建CI兼容的包装类(推荐)

这种方法能完全保留你期望的调用方式,同时符合CodeIgniter的库加载规范:

  1. 复制phpSyllable项目到CI目录
    把整个phpSyllable项目(包含src、dictionaries等所有文件夹)复制到CodeIgniter的application/libraries/phpSyllable目录下。

  2. 创建包装类文件
    在application/libraries目录下新建一个Syllable.php文件,内容如下:

    <?php
    // 引入phpSyllable的主类文件
    require_once APPPATH . 'libraries/phpSyllable/src/Syllable.php';
    
    class Syllable extends \vanderlee\Syllable\Syllable {
        public function __construct($language = 'en-us') {
            parent::__construct($language);
        }
    }
    
  3. 测试调用
    现在你就能用原本期望的代码正常调用了:

    $this->load->library('Syllable');
    $syllable = new Syllable('en-us');
    echo $syllable->hyphenateText('Provide a plethora of paragraphs');
    

方法二:修改CI库加载路径(不推荐,影响全局配置)

如果你不想创建包装类,可以通过扩展CI的库加载路径来直接加载原类,但调用方式需要调整:

  1. 复制项目并修改配置
    把phpSyllable项目复制到application/libraries/phpSyllable,然后打开application/config/config.php,添加以下配置:

    $config['library_paths'][] = APPPATH . 'libraries/phpSyllable/src/';
    
  2. 调整调用代码
    由于原类带有命名空间,调用时需要指定完整命名空间:

    $this->load->library('Syllable');
    $syllable = new \vanderlee\Syllable\Syllable('en-us');
    echo $syllable->hyphenateText('Provide a plethora of paragraphs');
    

注意事项

  • 确保dictionaries文件夹的路径正确,原类会自动从src目录的上级目录读取该文件夹,按上述方式放置项目即可正常读取。
  • 检查文件权限,确保CodeIgniter有读取这些文件的权限。

内容的提问来源于stack exchange,提问作者Tammy Majumder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 22:22:56