Итак, просто поставьте, я чувствую, что этот код должен работать. Буквально в этот момент я просто пытаюсь создать класс PHP, который принимает некоторую информацию и запускает команду против базы данных. Я знаю, что команда работает, так что дело не в этом, это как-то связано с объемом моих переменных.PHP Page Blank - Непонимание областей применения
Я новичок в PHP, и было интересно обрабатывать.
<?php
require __DIR__ . '/../bin/composer/vendor/autoload.php';
$cx = new Customer();
$cx->WriteCxToDB();
class Customer {
public $database = new medoo([
'database_type'=>'mysql',
'database_name'=>'dbname',
'server'=>'localhost',
'username'=>'dbusername',
'password'=>'dbpassword',
'charset'=>'utf8'
]);
public function WriteCxToDB(){
global $database;
if($database->has("customer", [
"OR"=>[
"username"=>"cxusername",
"email"=>"[email protected]"
]
]))
{
echo "User already exists";
}else{
$database->insert("customer", [
"username"=>"username",
"keyword"=>"keyword",
"email"=>"[email protected]",
"phone"=>"444-444-4444",
"first_name"=>"First",
"last_name"=>"Last"
]);
echo "User added";
}
echo "Done";
}
}
?>
Я использую композитор и medoo для ввода этой записи в базу данных. Я знаю, что код базы данных работает, потому что я запускал его самостоятельно, и он работает нормально.
То, с чем я борюсь, кажется, является переменной $database
в коде. Вызов функции работает, если я удаляю эту переменную из микса. Я чувствую, что просто не понимаю, где я должен объявить переменную/как ссылаться на нее изнутри/вне функции. Благодарю.
Всякий раз, когда вы получаете пустую страницу на PHP, когда какой-то вывод ожидался иначе, проверьте свои журналы ошибок. Включать display_errors всегда при разработке и тестировании кода - любая фатальная ошибка должна появляться немедленно. В верхней части вашего скрипта: 'error_reporting (E_ALL); ini_set ('display_errors', 1); ' –
Я заметил, что вы использовали' global $ database', но у вас также есть атрибут '$ database', определенный в классе, который будет доступен как' $ this-> database'. .. –
Создание экземпляра класса '$ database' при объявлении свойства не является одним из примеров, приведенных в http://php.net/manual/en/language.oop5.properties.php, поэтому я бы представлял ваш отчет об ошибках отключается, поэтому вам нужно либо включить его, либо проверить журналы ошибок. – MonkeyZeus