<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Урок - создание движка
12.03.2013 15:45:23 Урок - создание движка Сообщение #1
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Проблема такая. Иду по курсу Михаила - Создание движка. Сейчас реализую главную страницу, так сказать написали все классы и теперь хочется поглядеть че получилось

При запуске получаю такую ошибку:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes) in W:\home\newsite\www\lib\database_class.php on line 27

Она соответсвует классу Select а именно -

private function select($table_name, $fields, $where = "", $order = "", $up = true, $limit = ""
{
$table_name = $this->config->db_prefix.$table_name;
for ($i = 0; $i<=count($fields); $i++)
{
if ((strpos($fields[$i], "("===false) && ($fields[$i] != "*") $fields[$i] = "'".$fields[$i]."'";
}
$fields = implode(",", $fields);
if (!$order) $order = " ORDER BY 'id'";
else
{
if ($order != "RAND()"
{
$order = " ORDER BY '$order'";
if (!$up) $order .= " DESC";
}
else $order = "ORDER BY $order";
}
if ($limit) $limit = " LIMIT $limit";
if ($where) $query = "SELECT $fields FROM $table_name $where $where $order $limit";
else $query = "SELECT $fields FROM $table_name $order $limit";
$result_set = $this->query($query);
if(!$result_set) return false;
$i=0;
while ($row = $result_set->fetch_assoc())
{
$date[$i] = $row;
$i++;
}
return $date;
}



Ошибку указывает на эту строчку

if ((strpos($fields[$i], "("===false) && ($fields[$i] != "*") $fields[$i] = "'".$fields[$i]."'";
Заранее спасибо всем, кто поможет и наведет на путь истинный)
Профиль Ответить
12.03.2013 16:49:10 Урок - создание движка Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Не <= count($fields), а < count($fields)
Профиль Ответить
13.03.2013 10:04:42 Урок - создание движка Сообщение #3
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Спасибо, помогло)

Сижу все исправляю ошибку и не могу понять следующую. Точнее смысл ошибки я понял.
Но не буду разглагольствовать. Ошибка все на тойже стадии - создание главной страницы сайта по Вашему курсу Михаил.

Пытаюсь вывести первый раз главную сттраницу. Ошибка следующая -
Fatal error: Call to a member function getAll() on a non-object in W:\home\newsite\www\lib\global_class.php on line 64

тут либо нету объекта getAll() либо не объявлен объект $db.

64 строчка из глобал класса.(я вывел всю функцию)
public function getAll($order = "", $up=true)
{
return $this->db->getAll($this->table_name, $order, $up);
}




Функция getAll в database_class

public function getAll($table_name, $order, $up)
{
return $this->select($table_name, array("*","", $order, $up);
}


Как я поня мы $db как объект объявляли только в index.php. Чет я совсем запутался и прошу прощения,если задаю глупые вопросы)) учусь все таки)
Профиль Ответить
13.03.2013 15:14:03 Урок - создание движка Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

$this->db - нет к нему доступа в GlobalClass.
Профиль Ответить
13.03.2013 17:37:30 Урок - создание движка Сообщение #5
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Хм, а почему? не срабатывает конструктор? Делал как у Вас

abstract class GlobalClass {

private $db;
private $table_name;
protected $config;
protected $valid;

protected function __construct ($table_name, $db)
{
$this->db = $db;
$this->table_name=$table_name;
$this->config = new Config();
$this->valid = new CheckValid();

}
Профиль Ответить
13.03.2013 21:10:04 Урок - создание движка Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Возможно, что передаётся в конструктор не пойми что.
Профиль Ответить
13.03.2013 22:58:22 Урок - создание движка Сообщение #7
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

уже 3й день ищу ошибку(( кажется легче все сдалеть по новому.

Только уж больно много надо делать
Профиль Ответить
14.03.2013 10:24:23 Урок - создание движка Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

http://myrusakov.ru/php-finderror.html - проверяйте согласно этому методу, где $db является чем-то непонятным.
Профиль Ответить
30.04.2013 17:18:33 Урок - создание движка Сообщение #9
malina95

malina95

Мастер

Мастер

Дата регистрации:
15.07.2012 07:13:44

Сообщений: 208

Кто нашёл ответ на этот вопрос отзовитесь плиз, реально уже бесит, неделю уже не могу вывести главную страницу, а главное вот в чём прикол:

Пунктов меню 4 выводится, а содержания их нет, тоесть просто 4 точки, а ссылок и названий ссылок нет, точно также и с баннерами.

Скажите плиз хоть где такую ошибку искать!!!
Профиль Ответить
30.04.2013 19:18:36 Урок - создание движка Сообщение #10
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

я нашел ответ на вопрос. Я сделал все заново, хоть и потратил много времени, но я доволен. Я каждый шаг абсолютно проверял, правильно ли он работает или нет. Ошибок оказывается было куча) но за 1 неделю я преодолел.

Проверяйся выводом на экран всех необходимых значений поэтапно и найдете ошибки. У меня к примеру даже синтакс запросов был не верный)
Профиль Ответить