function video($id){Подключаю файл func_video.php к основному index.php (или туда где надо вывести видео):
//Реализован поиск нужного видео по id из базы.
//Вставка данных в код плеера видео, заголовок и описание. ну и еще пару элементов и тд.
//Вобщем кода на 20-40 строк
}
require_once('func_video.php');
...
video($id); //функция, в которую передаю ID.
ну и получается что файлы с функциями отдельно лежат всегда от основных страниц.
Так вот стоит привыкать писать тоже самое в классы? Классы, кстати поудобнее будут в этом плане, тк связь между функциями там есть, но в моих и большинстве проектах как видите и функции идеально подходят. Как считаете есть ли смысл выводить информацию через классы, это будет правильней? особенно на стадии развития моего в кодинге :)
Спустя 32 секунды (17.01.2011 - 13:58) maximka787 написал(а):
Прошу прощения, ООП 
Примечание от sergeiss: заголовок исправил, не парься

Примечание от sergeiss: заголовок исправил, не парься

Спустя 4 минуты, 44 секунды (17.01.2011 - 14:03) linker написал(а):
class Video
{
public static function getVideoById($Id)
{
// Получаем видео из базы
// Создаем объект и возвращаем его
return new self();
}
public function showVideo()
{
}
}
Video::getVideoById(100)->showVideo();
Спустя 10 минут, 17 секунд (17.01.2011 - 14:13) maximka787 написал(а):
linker, ты круто написал, я правда не совсем все понял, но у тебя на мой взгляд много непонятного.
Разве не проще так делать
Разве не проще так делать
class Video{
function __construct($id){
$this->id = $id;
}
function vid(){
//conect mysql, full code player
echo 'video='.$this->id;
// full code player
}
}
//$id = $_GET....
$obj = new Video($id);
echo $obj -> vid();
Спустя 22 минуты, 18 секунд (17.01.2011 - 14:35) twin написал(а):
Я бы посоветовал снчала с архитектурой разобраться. Чёто чую там у тебя понапутано. Весь функционал спихал в одну функцию... Зачем?
А уже потом думать, юзать класс или простую функцию.
Вопрос то у тебя звучит примерно так:
А уже потом думать, юзать класс или простую функцию.
Вопрос то у тебя звучит примерно так:
Цитата |
Вот я тут понаговнокодил, будет ли круче, если этот говнокод еще и в ООП завернуть. |
Если завернуть какушку в красивую обертку, она какушкой быть не перестанет. Вот linker неразобравшись уже синглетон присовокупил...
А нужен ли он там? Смотрится красиво, а толку пшик.
Спустя 13 минут, 19 секунд (17.01.2011 - 14:49) maximka787 написал(а):
twin, у меня все по полочкам, есть файлы с функциями и общие файлы. Если уж совсем грубо, то я использую ооп примерно для этого:
Цитата |
Хотя встречаются и такие, кто любую, самую простенькую штатную конструкцию типа echo, одевают в три фуфайки.... |

Я конечно стараюсь оптимизировать коды, и крутость кодинга мне не нужна, но в моих примерах я просто заменил функции классами, не использовав можно сказать их по назначению.
Если уж совсем вкратце, то вместо
video();
я пишу
$obj = new Video($id);
echo $obj -> vid();
Мне что одним методом, что другим без разницы. Это не правильно?

Спустя 8 минут, 18 секунд (17.01.2011 - 14:57) twin написал(а):
Да не то чтобы совсем неправильно. Незачем просто.
А вот с функционалом точно что то не то у тебя, судя по обрывкам информации. Покажи полностью функцию video() к примеру.
А вот с функционалом точно что то не то у тебя, судя по обрывкам информации. Покажи полностью функцию video() к примеру.
Спустя 7 минут, 43 секунды (17.01.2011 - 15:05) maximka787 написал(а):
Файл functions.php
Прочие файлы например index.php
и функций в файле function.php может быть не 2 а больше, или разделить иногда лучше на разные файлы
function connectdb(){
@ $db = mysql_pconnect('localhost', 'root', '');
if (!$db) { echo 'Не удалось установить соединение'; exit; }
mysql_select_db('test');
}
function video($video){
$query = "select * from films where id='$video'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
?>
<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="532" height="357">
<param name="movie" value="player.swf" />
<param name="flashvars" value="file=video.mp4&image=preview.jpg" />
<embed type="application/x-shockwave-flash"
src="player.swf"
width="520"
height="350"
flashvars="file=video/<? echo $row['file']; ?> />
</object>
<?
echo '<h1>'.$row['name'].'</h1>';
echo '<p>'.$row['opisnie'].'</p>';
}
Прочие файлы например index.php
require_once('functions.php');
connectdb();
...
<body>
...
video($id);
...
</body>
и функций в файле function.php может быть не 2 а больше, или разделить иногда лучше на разные файлы
Спустя 11 минут, 35 секунд (17.01.2011 - 15:16) twin написал(а):
Ну вот. Если ты еще это и в класс затолкал, то это ярчайшая иллюстрация к недавнему диспуту.
Брось, какое ООП, тут приведи всё в порядок. Начни с безопасности, посмотри на разделение логики и вывода. В класс такое точно совать не нужно.

Брось, какое ООП, тут приведи всё в порядок. Начни с безопасности, посмотри на разделение логики и вывода. В класс такое точно совать не нужно.
Спустя 12 минут, 48 секунд (17.01.2011 - 15:29) maximka787 написал(а):
Я урезал тут все, чтоб показать суть
а так тут и безопасность есть и все что нужно. Ну если это в класс бессмысленно пихать то не буду. Просто на заказе нового видео сайта именно видео вызывается на всех страницах. Причем у меня там не 1 параметр, а несколько передается. Вот и думал зачем функцию создавать если классы обычно для этого делаются.
На работу не берут из принципиальных знаний ооп, ну так надо принципиально использовать. Это в итоге, через пару лет породит поколение говнокодеров чую)

На работу не берут из принципиальных знаний ооп, ну так надо принципиально использовать. Это в итоге, через пару лет породит поколение говнокодеров чую)
Спустя 2 минуты, 19 секунд (17.01.2011 - 15:31) linker написал(а):
twin
Обрати внимание, тут не синглтон.
Суть моего примера в разделении получения объекта Video от его представления.
Обрати внимание, тут не синглтон.

Суть моего примера в разделении получения объекта Video от его представления.
Спустя 1 час, 10 минут, 19 секунд (17.01.2011 - 16:42) twin написал(а):
Цитата |
На работу не берут из принципиальных знаний ооп, ну так надо принципиально использовать. Это в итоге, через пару лет породит поколение говнокодеров чую) |
Золотые слова. Вот к чему ведет беспочвенная популяризация ООП в массах. Особенно там, где ему вообще делать нечего (читай - везде

_____________
..Работает - не трогай!