Xwab
Форумыnavigate_nextПрограммирование на PHP

Способ подключения файлов модуля
Какой способ посоветуете?
1: 33%
2: 44%
3: 11%
4: 11%
Опрошено: 9
Сообщения
Беж

Вобщем нужно писать зц, никак руки не доходят. Серфя этот подфорум, все таки решил, что нужно браться. И чтоб хоть что-то послужило толчком для начала, решил провести небольшой опросик =) допустим предположительно все заключается в таких частях index, down, add, top, new(ну естесственно не все, чисто для примера, чтоб не писать здесь войну и мир). Вобщем как лучше реализовать их построение:
1. Так и оставить их разными файлами
2. Кинуть в папку down/inc и в index.php инклудить их(способ как здесь рядом в тема, через массив, затем проверяется на наличие в массиве ключа, переданного _гет и проверяется наличие файла(это чтоб не писать здесь в теме лишний код))
3. Пункт 2, только вместо такого подключения из массива, все подключается через кейсы(case), в котором кроме инклуда и breаk ниче нет.(сам понимаю что эт бред, но так чисто для разнообразия)
4. Все делать через кейсы в одном файле.(ну а потом может mod_rewrite разукрасит всю картину)

23 Июл 2012, 9:34
oee

Второй лучше.. Не будет проблем с путями как в первом (вдруг по папкам захочешь раскидать), и лучше чем третий, больше выбор с гетами.. 4 чушь) С большими файлами неудобно работать

23 Июл 2012, 9:59
DarkNet

я не специалист, но больше всего нравится второй способ.

23 Июл 2012, 10:05
Беж

oee, вот я не мог как раз решить между первым и вторым. По папкам ничего никуда раскидывать не собираюсь. Но сам тоже ко второму склонен.
З.ы. Остальные два чисто для массовки =)
п.с. Какой именно из этих использовать мне по большому счету пофик, т.к. доводилось юзать все четыре =) хотелось просто узнать какой кто считает лучше.

23 Июл 2012, 10:10
Башка

Думаю первый, и автолоад использовать
добавлено спустя 2 минуты:
Каждый файл можно считать модулем с набором функция (как я понимаю здесь речь не о ООП), имя модуля должно соответствовать имени файла, а в клиенском коде просто подключаем модуль и пользуемся его возможностями, на пример так:

<?php
use('base-module');
// Вызываем функции данного модуля

А еще лучше было бы смешать немного с ОО и сделать так:

<?php
$base = use('base-module');
// Вызываем функции данного модуля
$base->fun1();

23 Июл 2012, 10:16
Беж

Башка, а каким боком автолоад здесь нужен? Это ведь не ядро и я считаю это лишним для такого небольшого модуля, как зц
для меня автоподгрузка классов имеет более глобальное представление, типо автоподключения функций ядра
добавлено спустя 2 минуты:
Башка, хотя в качестве пятого варианта подойдет таким способом в столь небольших модулях я еще не извращался
добавлено спустя 5 минут:
Башка, и кстати, мы не "пользуемся его возможностями", мы просматриваем его как отдельные страницы. И считать как набор функций файл-часть модуля, который по сути является просто отдельной страницей со своими операциями у меня эт чет в голове неспокойно укладывается. Хотя хз, может в твоем случае это просто такая формулировка =)

23 Июл 2012, 10:28
Башка

Автоподгрузка классов (как и любого кода) тривиальная задача и чем быстрее ты ее автоматизируешь, тем лучше. Она ни коем образом не усложняет простые скрипты, а скорее наоборот. Так почему бы не использовать ее как можно раньше? Да и при чем здесь ядро?
Дело твое, автор

23 Июл 2012, 10:37
Беж

Башка, как в твоем представлении будет выглядеть эта подгрузка? Допустим add.php:
<?php
echo'hello';
?>
как и куда его подгружать?

23 Июл 2012, 11:12
Башка

Ты же подгружаешь функции (классы), а не код. В моем представлении оно выглядит как то так:

Файл base.php
<?php
function fun1(...){
...
}
function fun2(...){
...
}
...
function funN(...){
...
}

Файл main.php
<?php
use('base');
fun2();

23 Июл 2012, 11:20
Беж

Башка, вот в том то и дело что мы сейчас с тобой говорили о разных вещах. Допустим тот же файл add.php. Он имеет форму ввода, запись данных из нее в бд и загрузку файла посредством псевдо-библиотеки upload. Зачем его куда-то подгружать?

23 Июл 2012, 11:27
Ответить на тему