您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

CI框架源码翻阅-Lang.php

2025/12/22 12:35:13发布10次查看
ci框架源码阅读---------lang.php
is_loaded和$this->language中去 * @param bool add suffix to $langfile 文件是否添加后缀 * @param string alternative path to look for language file 语言包文件的自定义路径 * @return mixed */ function load($langfile = '', $idiom = '', $return = false, $add_suffix = true, $alt_path = '') { // langfile 文件的.php 后缀去掉 $langfile = str_replace('.php', '', $langfile); // 判断需不需要添加后缀如果需要 // 将_lang. 去掉并再langfile后面添加_lang if ($add_suffix == true) { $langfile = str_replace('_lang.', '', $langfile).'_lang'; } // 为langfile添加.php后缀 $langfile .= '.php'; // 判断当前文件是否被加载过 if (in_array($langfile, $this->is_loaded, true)) { return; } // 获取配置文件的数据 $config =& get_config(); // 如果要使用的语言为空 // 那么 我们将从$config中获取 if ($idiom == '') { $deft_lang = ( ! isset($config['language'])) ? 'english' : $config['language']; $idiom = ($deft_lang == '') ? 'english' : $deft_lang; } // determine where the language file is and load it // 在自定义路径下寻找语言包并加载 if ($alt_path != '' && file_exists($alt_path.'language/'.$idiom.'/'.$langfile)) { include($alt_path.'language/'.$idiom.'/'.$langfile); } else { // 如果自定义路径下没找到调用get_instance()->load->get_package_paths(true) // 在包路径下寻找 // get_package_paths这个函数在loader.php中 $found = false; foreach (get_instance()->load->get_package_paths(true) as $package_path) { if (file_exists($package_path.'language/'.$idiom.'/'.$langfile)) { include($package_path.'language/'.$idiom.'/'.$langfile); $found = true; break; } } // 如果还没找到就只能报错了 // if ($found !== true) { show_error('unable to load the requested language file: language/'.$idiom.'/'.$langfile); } } if ( ! isset($lang)) { log_message('error', 'language file contains no data: language/'.$idiom.'/'.$langfile); return; } if ($return == true) { return $lang; } $this->is_loaded[] = $langfile; $this->language = array_merge($this->language, $lang); unset($lang); log_message('debug', 'language file loaded: language/'.$idiom.'/'.$langfile); return true; } // -------------------------------- /** * fetch a single line of text from the language array * 获取一行文本 * @access public * @param string $line the language line * @return string */ function line($line = '') { /* * $this->language 的样子 * $lang['error_email_missing'] = you must submit an email address; * $lang['error_url_missing'] = you must submit a url; * $lang['error_username_missing'] = you must submit a username; */ $value = ($line == '' or ! isset($this->language[$line])) ? false : $this->language[$line]; // because killer robots like unicorns! if ($value === false) { log_message('error', 'could not find the language line '.$line.''); } return $value; }}// end language class/* end of file lang.php *//* location: ./system/core/lang.php */
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product