Вобщем нужно писать зц, никак руки не доходят. Серфя этот подфорум, все таки решил, что нужно браться. И чтоб хоть что-то послужило толчком для начала, решил провести небольшой опросик =) допустим предположительно все заключается в таких частях index, down, add, top, new(ну естесственно не все, чисто для примера, чтоб не писать здесь войну и мир). Вобщем как лучше реализовать их построение:
1. Так и оставить их разными файлами
2. Кинуть в папку down/inc и в index.php инклудить их(способ как здесь рядом в тема, через массив, затем проверяется на наличие в массиве ключа, переданного _гет и проверяется наличие файла(это чтоб не писать здесь в теме лишний код))
3. Пункт 2, только вместо такого подключения из массива, все подключается через кейсы(case), в котором кроме инклуда и breаk ниче нет.(сам понимаю что эт бред, но так чисто для разнообразия)
4. Все делать через кейсы в одном файле.(ну а потом может mod_rewrite разукрасит всю картину)
Второй лучше.. Не будет проблем с путями как в первом (вдруг по папкам захочешь раскидать), и лучше чем третий, больше выбор с гетами.. 4 чушь) С большими файлами неудобно работать
23 Июл 2012, 9:59oee, вот я не мог как раз решить между первым и вторым. По папкам ничего никуда раскидывать не собираюсь. Но сам тоже ко второму склонен.
З.ы. Остальные два чисто для массовки =)
п.с. Какой именно из этих использовать мне по большому счету пофик, т.к. доводилось юзать все четыре =) хотелось просто узнать какой кто считает лучше.
Думаю первый, и автолоад использовать
добавлено спустя 2 минуты:
Каждый файл можно считать модулем с набором функция (как я понимаю здесь речь не о ООП), имя модуля должно соответствовать имени файла, а в клиенском коде просто подключаем модуль и пользуемся его возможностями, на пример так:
<?php
use('base-module');
// Вызываем функции данного модуля
А еще лучше было бы смешать немного с ОО и сделать так:
<?php
$base = use('base-module');
// Вызываем функции данного модуля
$base->fun1();
Башка, а каким боком автолоад здесь нужен? Это ведь не ядро и я считаю это лишним для такого небольшого модуля, как зц
для меня автоподгрузка классов имеет более глобальное представление, типо автоподключения функций ядра
добавлено спустя 2 минуты:
Башка, хотя в качестве пятого варианта подойдет
таким способом в столь небольших модулях я еще не извращался
добавлено спустя 5 минут:
Башка, и кстати, мы не "пользуемся его возможностями", мы просматриваем его как отдельные страницы. И считать как набор функций файл-часть модуля, который по сути является просто отдельной страницей со своими операциями у меня эт чет в голове неспокойно укладывается. Хотя хз, может в твоем случае это просто такая формулировка =)
Автоподгрузка классов (как и любого кода) тривиальная задача и чем быстрее ты ее автоматизируешь, тем лучше. Она ни коем образом не усложняет простые скрипты, а скорее наоборот. Так почему бы не использовать ее как можно раньше? Да и при чем здесь ядро?
Дело твое, автор
Башка, как в твоем представлении будет выглядеть эта подгрузка? Допустим add.php:
<?php
echo'hello';
?>
как и куда его подгружать?
Ты же подгружаешь функции (классы), а не код. В моем представлении оно выглядит как то так:
Файл base.php
<?php
function fun1(...){
...
}
function fun2(...){
...
}
...
function funN(...){
...
}
Файл main.php
<?php
use('base');
fun2();
Башка, вот в том то и дело что мы сейчас с тобой говорили о разных вещах. Допустим тот же файл add.php. Он имеет форму ввода, запись данных из нее в бд и загрузку файла посредством псевдо-библиотеки upload. Зачем его куда-то подгружать?
23 Июл 2012, 11:27