я пытаюсь применить некоторые модуль системы на моей сети, используя получить и включают в себя, вот некоторые из моего кода на моем index.phpPHP включают в себя проблемы
$section = 'user';
if(isset($_GET) && !empty($_GET) && $_GET !== ''){
$module = $_GET['module'].".php";
load_module($section, $module);
}
функция load_module
function load_module($section="", $module=""){
include(SITE_ROOT.DS.$section.DS.'modules'.DS.$module);
}
* Я уже определил DS как DIRECTORY_SEPARATOR
и я сохранил несколько файлов внутри папки модулей, файл загружается отлично, моя проблема в том, что вся переменная i, объявленная на моем включенном p возраст не загружается, вот мой код на одном из включаемого файла
if($session->is_logged_in()){
$user = User::find_by_id($session->user_id);
$profile = $user->profile();
$company = $user->compro();
$logo = $user->logo();
}else{redirect_to('index.php');}
на моем index.php я получил эту ошибку
Notice: Undefined variable: session in C:\www\starpro\user\modules\edit_company.php on line 3 Fatal error: Call to a member function is_logged_in() on a non-object in C:\www\starpro\user\modules\edit_company.php on line 3
и если я переместить эти переменные внутри моего index.php, я получить это сообщение
Notice: Undefined variable: company in C:\www\starpro\user\modules\edit_company.php on line 181 Notice: Trying to get property of non-object in C:\www\starpro\user\modules\edit_company.php on line 181
пожалуйста, кто-нибудь помочь мне, спасибо заранее
с уважением
====================================================================================================================================== ========================
я использую ответ
deceze и изменить класс моего пользователя, добавляя статическую функцию как этот
public static function load_module($section="", $module="", $user_id=""){
$user = self::find_by_id($user_id);
$profile = $user->profile();
$company = $user->compro();
$logo = $user->logo();
include(SITE_ROOT.DS.$section.DS.'modules'.DS.$module);
}
, а затем на мой индекс я использую этот
if(isset($_GET) && !empty($_GET) && $_GET !== ''){
$module = $_GET['module'].".php";
User::load_module($section, $module, $user->id);
}else{
я получил это работает, но я s это плохая практика ?? нужно посоветовать
спасибо много
Я рассмотрю это как хорошую ссылку, спасибо за ценную информацию – littlechad