Я решил начать изучить ооп, для этого набрался немного теоретического материала и начал переписывать свой существующий проект написанный с помощью процедурного подхода на ооп. Столкнулся с проблемой.
У меня была следующаю структура страницы.
/*код проверки переменных*/
/*код подключения к бд*/
/*код вывода данных из бд*/
попытался переписать с помощью ооп вот так
/*вызываю метод с проверкой переменных*/
/*код подключения к бд*/
/*метод который выводит инфу из бд*/
в /*метод который выводит инфу из бд*/ содержаться sql запросы. Вот они то и не хотят работать почему то. Может вы видите явные структурные ошибки в моей задумке?
Спустя 3 минуты, 17 секунд (19.05.2011 - 11:34) inpost написал(а):
Не видно кода
Спустя 5 минут, 48 секунд (19.05.2011 - 11:40) kirik написал(а):
Цитата (inpost @ 19.05.2011 - 04:34) |
Не видно кода |
Мне кажется его и не должно тут быть.. ведь только структура описана..
Спустя 7 минут, 41 секунда (19.05.2011 - 11:47) major28 написал(а):
вот что было на процедурке
на ооп
ошибки вот такие
Warning: mysql_query() expects parameter 2 to be resource, null given in
if(!isset($page)){
header("Location: /");
exit;
}
include("include/bd.php");
$result=mysql_query("SELECT * from project WHERE url='".$page."' LIMIT 1", $db);
на ооп
class xxx{
function site_root($page) {
if(!isset($page)){
header("Location: /");
exit;
}
}
function project_data($page){
if(isset($page)){
$result=mysql_query("SELECT * from table WHERE page='".$page."' LIMIT 1", $db);
if(mysql_num_rows($result)==1){
}
}
}
}
/*подключаем файл с классами*/
include "class/check.class.php";
// Создаем объект класса check:
$check_object = new check;
$check_object->site_root($_GET['page']);
/*Подключение к базе*/
include("include/bd.php");
$check_object->project_data($page);
ошибки вот такие
Warning: mysql_query() expects parameter 2 to be resource, null given in
Спустя 2 минуты, 41 секунда (19.05.2011 - 11:50) T1grOK написал(а):
Класс не видит линк. $db
Спустя 18 минут, 27 секунд (19.05.2011 - 12:08) linker написал(а):
Оставь лучше как было, без ООП.
Спустя 10 минут, 58 секунд (19.05.2011 - 12:19) major28 написал(а):
Цитата |
Оставь лучше как было, без ООП. |
почему?
Спустя 9 минут, 22 секунды (19.05.2011 - 12:29) Семён написал(а):
Потомучто ты пытаешься использовать ООП как процедурку )))
Спустя 5 минут, 50 секунд (19.05.2011 - 12:35) major28 написал(а):
покажите плиз как в моем случае правильно перенести все на ооп?
Спустя 1 минута, 20 секунд (19.05.2011 - 12:36) Krevedko написал(а):
да ужж..но если так хочется, чтобы работало, передай $db в класс
Спустя 1 минута, 16 секунд (19.05.2011 - 12:37) T1grOK написал(а):
или вообще его убери
Спустя 4 минуты, 3 секунды (19.05.2011 - 12:41) major28 написал(а):
посоветуйсте какой нить материал где я смогу увидеть практический пример ооп в php, а то везде только голая теория и фиг знает как правильно его применять)
Спустя 10 минут, 57 секунд (19.05.2011 - 12:52) CyberOrcX написал(а):
короче,
в функции project_data() добавь переменную $db
и передавай его....
и я не понял как у класса Check есть методы из класса XXX ? )))
в функции project_data() добавь переменную $db
и передавай его....
и я не понял как у класса Check есть методы из класса XXX ? )))
Спустя 4 минуты, 48 секунд (19.05.2011 - 12:57) linker написал(а):
CyberOrcX
Для начала нужно поднатореть в обычном кодинге PHP (про область видимости переменных мы видимо вообще не в курсах), потом выучить и понять, что такое ООП, а уж только потом что-то и куда-то переводить.
Для начала нужно поднатореть в обычном кодинге PHP (про область видимости переменных мы видимо вообще не в курсах), потом выучить и понять, что такое ООП, а уж только потом что-то и куда-то переводить.
Спустя 3 секунды (19.05.2011 - 12:57) Семён написал(а):
Скачай себе Kohana Framework 3x и пиши своё приложение с использованием MVC.
Постепенно будут возникать вопросы, на которые ты сам себе ответишь
Постепенно будут возникать вопросы, на которые ты сам себе ответишь
Спустя 6 минут, 46 секунд (19.05.2011 - 13:04) T1grOK написал(а):
Нет ну фреймворк для начинаючего ума это слишком сложно.
Спустя 5 минут, 21 секунда (19.05.2011 - 13:09) Семён написал(а):
Если считать себя глупцом и сидеть среди глупцов...
Бери и изучай не пожалеешь!
Бери и изучай не пожалеешь!
Спустя 7 минут, 15 секунд (19.05.2011 - 13:16) linker написал(а):
Семён
PHP надо сначала изучить, а уж потом фреймворки советовать.
PHP надо сначала изучить, а уж потом фреймворки советовать.
Спустя 7 минут, 56 секунд (19.05.2011 - 13:24) Krevedko написал(а):
Семён - знаешь кохану ? Я сейчас начал изучать. Если что, можно к тебе обращаться, если будут какие вопросы ?
Спустя 4 минуты, 25 секунд (19.05.2011 - 13:29) Семён написал(а):
Цитата (Krevedko @ 19.05.2011 - 14:24) |
Семён - знаешь кохану ? Я сейчас начал изучать. Если что, можно к тебе обращаться, если будут какие вопросы ? |
я начал писать пару курсов, но никому это не интересно
http://phpforum.su/index.php?showtopic=41034
http://phpforum.su/index.php?showtopic=41035
http://phpforum.su/index.php?showtopic=42191
Спустя 59 минут, 35 секунд (19.05.2011 - 14:28) linker написал(а):
Вот если бы ты начал курсы Yii, то я бы послушал наверное.
Спустя 7 минут, 28 секунд (19.05.2011 - 14:36) Krevedko написал(а):
Цитата (Семён @ 19.05.2011 - 10:29) | ||
я начал писать пару курсов, но никому это не интересно http://phpforum.su/index.php?showtopic=41034 http://phpforum.su/index.php?showtopic=41035 http://phpforum.su/index.php?showtopic=42191 |
не видел этой темы. в избранном только по кодигнайтеру от Kuzya. кстати тоже еще не читал. пока сам разбираюсь с кодигнайтером...надо будет почитать, что спец пишет, вдруг я говнокожу по страшному ))
кохану пока мельком просмотрел, в принципе похоже на игнайтер, структура папок почти такая же, это же форк. Но мало ли вопросы возникнут. Твои темы тоже в избранное добавил. Вечерком после работы почитаю.