All streams
Search
Write a publication
Pull to refresh
38
0
Александр Шульман @developer

Развиваю ИТ

Send message
имхо если они могут себе позволить такие капризы, то чего нет??
а самое главное, если они авторитетны — это существенный удар.
Знаете, я как-то, хотел съинтрегрироваться с IPB, потом бросил и написал библиотеку которая с MySQL напрямую читала/писала данные

getTopicById($id)
postToTopic($id)
getPostsOfopic($id) ну в таком духе…

я конечно не прав (осознаю это), но кто сделал для упраление контентом IPB грамотное решение?? поделитесь плиз.
мыши кололись но продолжали жрать кактус… это этот случай…
я не знаю… приходилось использовать именно IPB
честно скажу код Invision Board никогда не нравился, приходилось писать всякие расширения — кучу гемора, очень надеюсь что будет именно другая улучшенная архитектура.
в избранное, потом буду от друзей отмахиваться статьей, все удобно расписано
ну тут двояко… вот есть у вас форма поиска, которая может получать доп параметры, а может не получать их и какая разница

? do=search вы просто урлом передаете или хидден параметром формы поиска? в принципе без разницы. ну может не структурно, хотя я не понимаю. назовите причину по которым такие вещи нужно разделить и я, быть может, пойму о чем вы.
на практике найминг очень полезная вещь, я хотел показать, что есть методы отличные от найминга =)
разделять экшны по типу запроса не советую просто потому что часто это не нужно, но в целом идею принял, мне понравилось, действительно можно сделать чтоб сначала искалась функция
function POST_b()
если ее нет, то
function b(), так, пожалуй, иногда может пригодиться, но редко… как правило функция делает одно и тоже а от типа запроса зависит тип ответа всего лишь, либо это JSON (POST+AJAX), либо кусок страницы (обновляемый тупо AJAX) или это вся страница. эта работа ложится на другой слой вообще говоря на слой Viewer в патрене MVC и к контроллеру имеет слабое отношение, тоесть метод (action) отработав дает результирующие данные, а они уж идут либо в один либо в другой шаблонизатор.

Если действительно есть интерес посмотреть как сделать систему для сайта, то могу написать именно про это, там много подводных камней.
тут действительно не нужно париться с верх меры, ведь я рассказал о том как писать контроллер, привел такой пример, а вообще такие контроллеры удобно использовать в событийной модели разбора XML документов например, когда метод реагирует на отведенный ему XML тег, да масса примеров, SAOP так делал — удобно выходило, RPC тудаже, в целом статья о контролллере.
да я понял вас, вы, конечно, правы, в идеале нужно написать фабрику в самом абстрактном модуле, которая будет выбирать тип создаваемого модуля (в зависимости от ролей)
/**
@return Module
**/
static function fabrica($moduleName)…

реализация ее проста, но специфична для задачи в приведенном выше примере она будет наподобии:
static function fabrica($moduleName){
    if (User::isAuthenticated() and class_exists("User".$moduleName)  and is_a("User".$moduleName, "Module") ) {
         $moduleName="User".$moduleName;
    }elseif(!is_a($moduleName, "Module")){
          return null;
    }
    return new $moduleName;
}


как видите теперь вообще можно писать:
$module=Module:: fabrica($GET['module']);

и ни о чем не думать, вообще я планирую однажды написать о том как я реализую полный контроллер для создания страниц на этой идеалогии, он решает многие задачки и сильно упрощает жизнь, но статья посвящена именно тому как классы и рефлексию использовать в контроллере, а не тому как писать контроллер или реализовать MCV, но всеже забежав немного в перед я, надеюсь, ответил на ваш вопрос ;-)
по поводу пункта 2:
ReflectionMethod — нативный класс PHP служит для анализа метода класса.

по поводу пункта 1: я же тут не привожу реализацию MCV я показываю как контроллер можно построить это просто пример.

по поводу пункта 3: acl давно существует, но это другой метод, мне этот более понятен, кода видно то, что может быть использовано, а не ситуация, когда есть ресурсы, которые закрыты.
да, конечно, подправлю, хотя наверное просто писать не буду.
ответы на основные обвинения чтоб не писать каждому а то много написали.

ключевые слова в англ яз. литературе: data parallel и message passing
возможно мой перевод не корректный, но ваши посты впринципе направлены против меня, в таких сообщениях видно отсутствие попыток понять собеседника, карму понижаю ибо не конструктивные ответы… мне не нужно вообше делать авторитета или что либо в таком духе, я удивлен что сообщению уделено такое внимание.

ведь топик-то не о вреде фраймворков, а о полезности великов.

а что вам тут не нравится?
не нравится мой русский язык — конструктивно товарищи! прoтивно читать — не читайте! большенство тех, кто тут резко высказались ни написали вообще ничего.

не нравится моя позиция — это понятно (но я ж не говорю чтоб вы отказались от своей, а вы меня как носителя позиции отличной от вашей обвиняете именно). Да, я считаю что велосипеды нужно уметь писать, нужно чувствовать в себе силы написать либо кусок фрейма либо его целиком если это вам нужно.
если вопрос ко мне, то считаю, что нужно начать с задачи. поставить простенькую задачку и решить ее, конечно вначале я считаю не нужно использовать никаких фреймов, потому что нужно понять какие бывают проблемы, какие встают трудности, только когда вы узнаете какие бывают проблемы вы сможете начать искать решения. Но это моя позиция, есть другие.
искать нужно:
«функционально распределенные вычисления»
ндя… проблема понимания конечно лежит на говорящем, но это не работает в нашем случае… гуглите — все написано.
cms кстати тоже относятся к готовым решениям и к ним все в тойже мере применимо
ну не знаю, я постарался придумать пример достаточно законченым с одним контроллером, без представления и модели, ее я оставил за рамками.
контролеры давно придуманы как таковые, а вот использование в PHP их я думаю начал с первыми. я же написал что изобрел колесо — эта методика была давно известна, просто у нас о ней мало пишут.
в контексте PHP, сейчас я работаю в проекте с ZF, также приходилось использовать CakePHP, про java — NetBeens предлагает огромнейший выбьор всего, за приделы редко вылетал.
умение решать типичные задачи так же краеугольный камень времен Аристотеля, идея поста направлена не против фреймов, а за велики

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Chief Executive Officer (CEO)
Lead
From 3,000,000 ₽
Project management
Negotiation
Development of tech specifications
Agile
Development management
Optimization of business processes
Organization of business processes
Building a team
Strategic planning
Business development