О, этот особенный.Я только что обнаружил, что $ this-> lang-> load ("lang file") будет загружать файлы из языкового каталога, но ожидается, что эти файлы содержат массив $ lang какэто:
$lang['db_invalid_connection_str'] = 'Unable to determine the database settings based on the connection string you submitted.';
$lang['db_unable_to_connect'] = 'Unable to connect to your database server using the provided settings.';
$lang['db_unable_to_select'] = 'Unable to select the specified database: %s';
$lang['db_unable_to_create'] = 'Unable to create the specified database: %s';
и ничего больше!
Но что, если я решу (как и я) сохранить целые страницы в языковой папке?Тогда я смогу легко загрузить его с помощью $ this-> lang-> load ("lang file") и отобразить на странице.И только потому, что у меня нет никакой переменной $ lang на этих страницах, она будет регистрировать ошибку каждый раз, когда страница будет отображаться.
Я мог бы легко отключить это зарегистрированное сообщение, но вместо этогоЯ решил спрятать его в особых условиях, и вот мой оператор if, добавленный в класс Land.php, функция загрузки:
if ($basepath !== $package_path && file_exists($package_path) && filesize ($package_path) > 0) {
//do not log anything, because those files don't have $lang anyway
} else {
log_message('error', 'Language file contains no data: language/' . $idiom . '/' . $langfile);
}
Таким образом, я все равно буду загружать файлы, но ошибка будет отображаться, только если файл невнутри ничего нет.