Как правильно подключить файлы

  • Автор темы Автор темы col
  • Дата начала Дата начала
Автор оригинала: col
если я правильно тебя понял, то при таком подходе.
При подключении различных модулей может возникнуть накладка с именани обявляемых в скриптах функциях.
Никто не мешает сделать имя функции соответствующим имени файла. Если у тебя операционная система позволяет создавать несколько файлов с одним именем -- тогда будет трудно. :)
 
2 гоша
ну если не вдоватся в детали, то да.
Ну вот и скажи терь как быть с повторным обявлением функций.
 
да хотя бы так (не красиво - может кто лучше предложит)

if (!(isset($mod))) {requre "mod.php";}

//mod.php
$mod=true;
function mod()
{
..
}
 
2 Линк
И чё дальше.

if (!(isset($mod))) {requre "mod.php";}
if (!(isset($mod1))) {requre "mod1.php";}

//mod.php
$mod=true;
function mod()
{
..
}

//mod1.php
$mod1=true;
function mod()
{
..
}
Приплыли

2Crazy 2Линк
Скрипты могу писаться, не одним человеком и не должы зависеть друг от друга, следовательно я и не могу обеспечить уникальность имен функций.
А заставлять каждого кто захочет написать модуль писать его одной функцией и называть её именем файла, вариант конечно рабочий, но я его считаю немного кривым и поэтому отошел от него, вернее отложил.
 
тогда делай объектом, и пиши внтури объекта)

//main.php
require obj.inc

//obj.inc
class boofoomoo324()
{
blabvlavla
}
$boofoomoo324->main();
//забыл про include_once:)
 
Автор оригинала: col
Скрипты могу писаться, не одним человеком и не должы зависеть друг от друга, следовательно я и не могу обеспечить уникальность имен функций.
Col, ты хочешь, чтобы мы за тебя придумали механизм уникальности? Лови: функция должна называться foo_bar_buzz_fluxx, где [email protected] есть e-mail ее автора, а fluxx -- имя файла, в котором он ее создает.

Если ты ищешь решений -- они находятся легко.
 
хорошо.

пусть модуль имеет такой вид

class ModuleName
{
function main($args){....}
}

и хранится в ModuleName.php

тогда getContent будет такая

function getContent($module,$args){
include_once $module.".php";
$obj=new $module;
return $obj->main($args);
}
 
2Линк
ты прости за резкость,
но ты хотя бы чучуть подумай прежде чем писать.
Если просто переложить проблему на классы, то ситуация ничем не отличается от ситуации с функциями.
у классов тоже могут быть одинаковые имена.

2crazy
Я понял, но это ситуацию в корне не меняет.
Нет гибкости и свободы для разработчика, хотя это может просто громко сказанно.

2гоша
ты также как и crazy предлагаешь придумать алгоритм придумывания НАЗВАНИЙ класса, функции и т.д.. У тя он зависит, от имени файла а нет от мыла и файла.

2гоша & Линк

а можно так классы обявлять ?

class ModuleName_$id
{
function main($args){....}
}

У меня будет таблица где будут регистрироваться все модули, типа при "инсталяции в систему" сайта.
Может это как то вам поможет в наставлении меня на путь истинный.
 
col, за резкость прощаю) ты меня неверно понял.прочти еще раз)


объявлять так классы нельзя.

Чем тебе не нравится придумывание названий классов по имени файла?
например в винде тоже есть ActiveX (КОМ объекты) - твой случай. Так вот у них есть имена - internetexplorer например.
Кроме того у них еще есть UID)

-~{}~ 26.02.04 18:29:

Все
оставляю тебя на более опытных
мне с тобой слишком тяжело)
 
col

Сущности (будь то классы, модули или что-то иное) всё равно надо как-то называть. Тебе предложили несколько вариантов, как это сделать более или менее разумно. (Не вдаваясь в постановку задачи саму по себе).

Если ни один из предложенных вариантов тебя не устраивает, тебе предоставляется полная свобода разработать собственный язык, свободный от ограничений php.
 
2Линк
чего я не понял в предедущей месаге хм...
объясни
откуда ты взял название boofoomoo324 для класса.
По поводу ActiveX ну с именами может там тоже как кая неразбериха но что такое UID, может мне это как то поможет.
Я так понимаю это какой то специфический индефикатор ком-объекта или что. Нельзя ли по подробнее.

-~{}~ 26.02.04 18:49:

2Гоша
:)))

2ALL
Народ я все таки подумываю остановиться на способе с
file (http://modul.php?id=2);
Если это на сто процентов криво, неправильно и ваще убить меня за такое мало. То скажите мне, объясните почему, незя и т.д. а тож делать начну а потом если какой косарез серьёзный вылезет обижусь на вас и в дворники подамся. :))

Братцы не оставте без помощи нуждающегося. :)))
 
col
а косяк не за горами - стоит собрать пхп с --disable-url-fopen-wrapper
И все твои модули тихо курят в сторонке
 
Автор оригинала: col
Я понял, но это ситуацию в корне не меняет.
Нет гибкости и свободы для разработчика, хотя это может просто громко сказанно.
У тебя и сейчас нет гибкости и свободы для разработчика. Ты уже навязываешь свой способ передачи параметров и их состав.
 
Сверху