Php 实例中的错误在哪里?
在我询问这个问题之前,我阅读了建议的链接,但它并没有帮助我 我的问题是当我尝试实例化一个类时 错误是: 注意:未定义变量:中的userCore /Applications/MAMP/htdocs/proyecto_cice/app/web/controller/controllerFormUser.php 第74行 我知道这个通知的含义,所以我使用函数类_exists,我给我true。我使用这个函数,因为我的第一个想法是我在课堂上犯了一个错误,但这不是问题所在 我在load.php文件中声明这个对象,因为我在其他文件中也需要它 我理解这个错误,但我找不到。如果你能帮忙,我将不胜感激 我尝试实例类的主文件中的代码:Php 实例中的错误在哪里?,php,oop,Php,Oop,在我询问这个问题之前,我阅读了建议的链接,但它并没有帮助我 我的问题是当我尝试实例化一个类时 错误是: 注意:未定义变量:中的userCore /Applications/MAMP/htdocs/proyecto_cice/app/web/controller/controllerFormUser.php 第74行 我知道这个通知的含义,所以我使用函数类_exists,我给我true。我使用这个函数,因为我的第一个想法是我在课堂上犯了一个错误,但这不是问题所在 我在load.php文件中声明这个
<?php
require '../load.php';
function signup($form){
if( $form['pass']== $form['repass'] ){
$exists = $userCore->find_mail( filter_project_form() );
if($exists==''){
$isCorrect = ($userCore->insert_user( filter_project_form() ));
if($isCorrect){echo 'correct';}
}
else{
echo "The user exists now";
}
}
else{
echo 'The passwords must be identical';
}
}
?>
文件“load.php”包含:
<?php
//CONFIG
require 'config.php';
require 'constants.php';
//CORE
require 'core/ddbb.php';
require 'core/user.php';
</code>
//CLASS MODEL
require 'model/class_user.php';
//CONTROLLER
require 'controller/controllerUser.php';
//INSTANCIA
$userCore = new User_core();
文件core/user.php是:
<?php
class User_core extends DDBB_core{
function find_mail($form){
$sql = "SELECT email FROM user WHERE email='".$form['mail']."'";
return $this->executeSelectQuery($sql);
}
}
谢谢,变量$userCore在函数中不可用,因为它是在外部范围中定义的。您需要使其可用:
[...]
function signup($form){
global $userCore;
[...]
顺便说一句,这样做被认为是不好的做法,它违反了面向对象的原则。最好是将siginup作为UserCore类的方法,或者为此使用某种呈现实用程序类,将UserCore的实例作为参数之一传递给函数。局部变量$UserCore用于函数注册,但不会在任何地方初始化。阅读相关文章。落选的选民愿意向OP解释他们的投票吗?@George没有人有义务这么做。@deceze我知道,但如果他们有一些理由的话,对OP来说是件好事。