Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тестирование новых фич сайта "на лету" 
:(
    Опции темы
ksnk
Дата 11.2.2015, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



baldina, Ну вообрази, что включаемый модуль содержит синтаксически некорректный код. Ну вот случайно по ftp непдокачался код... Сломается ли сайт, если такой модуль попытаться вставить в систему? А вот если все места, в которых упоминается модуль, оклеить "скотчем", то простой посетитель будет иметь работающую версию сайта, не смотря ни на что. 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
whatisnot
Дата 11.2.2015, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Если для выключения модуля в каждую его составляющие требуются вставки, то это не модуль, а как раз "нечто скленное скотчем". 

Это сообщение отредактировал(а) whatisnot - 11.2.2015, 13:59
PM MAIL   Вверх
baldina
Дата 11.2.2015, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(ksnk @  11.2.2015,  13:32 Найти цитируемый пост)
включаемый модуль содержит синтаксически некорректный код

модуль в отдельном файле? файл подключается только кому надо иметь его функционал? нет проблем, обычный пользователь не заметит.

Цитата(ksnk @  11.2.2015,  13:32 Найти цитируемый пост)
по ftp непдокачался код

или админ скопировал только часть файлов. или сетевая плата сломалась. имхо, это другие проблемы
PM MAIL   Вверх
ksnk
Дата 11.2.2015, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(baldina @  11.2.2015,  14:17 Найти цитируемый пост)
файл подключается только кому надо иметь его функционал?

Я тут пример выдавал... Форма поиска. Она должна быть видна на всех, в том числе и на главной, страницах. Она должна быть видна (после отладки и сдачи) для всех, в том числе и незарегистрированных пользователей. Тоесть, на главной у нас нет (в принципе) ни сессии, ни юзера с правами. Без дополнительного механизма его не отладить. Никакими галочками в админке.
Механизм - универсльный. Он позволяет "клеить" не только в благоустроенных условиях современных CMS, но и вообще в любых, способных поддерживать (php5.2++)-жизнь  smile 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
whatisnot
Дата 11.2.2015, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



>Тоесть, на главной у нас нет (в принципе) ни сессии, ни юзера с правами.

Очень странно. Это по чьим итересно принципам главная обделена сессией?

>Без дополнительного механизма его не отладить. Никакими галочками в админке. 

Это далеко не так.
PM MAIL   Вверх
baldina
Дата 11.2.2015, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(ksnk @  11.2.2015,  15:43 Найти цитируемый пост)
на главной у нас нет (в принципе) ни сессии

Цитата(whatisnot @  11.2.2015,  15:49 Найти цитируемый пост)
Это по чьим итересно принципам главная обделена сессией?

 smile 
:off захожу в интернет-магазин, без регистрации, а у меня в корзине товар лежит, который я вчера накидал

Цитата(ksnk @  11.2.2015,  15:43 Найти цитируемый пост)
Он позволяет "клеить"

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

вернемся к примеру с главной страницей. даже незарегистрированный пользователь в нормальной среде проходит аутентификацию и авторизацию. и у него могут быть личные данные (в сессии) и права.
никто не мешает пользователю быть одновременно гостем и тестером
Код

class User {
 function isGuest() { return $this->login === null; }
 function isTester() { return isset($_SESSION['test']) || in_array ($this->ip, $config->testerIPs); }
 ...
}
...
$user = new User();
...
function include_module ($module_name) {
  if (!in_array ($module_name, $config->testModules) || $user->isTester()) {
       require_once ($module_name.'.php');
  }
}
...
// main page
include_module ('search_form');


Это сообщение отредактировал(а) baldina - 11.2.2015, 17:26
PM MAIL   Вверх
ksnk
Дата 11.2.2015, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



baldina, Сессия стартует ВСЕГДА при первом же визите юзера на сайт? Всегда и на всех сайтах? И эти люди будут учить меня программировать?  smile 




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
baldina
Дата 11.2.2015, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



если сессия нужна при первом же визите юзера на сайт, отчего бы ей не стартовать?
если неизвестно, нужна ли сессия, отчего бы ей не стартовать? 
какие вообще ограничения по старту сессии, и откуда?


PM MAIL   Вверх
whatisnot
Дата 11.2.2015, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Уже дошло до абсурда. )

Музыкант оперирует 12-ю нотами, это его инструменты, и при этом одни создали бессмертную классику, другие поразительную по чувствам современную музыку. А что есть чувства? Это пропустить через себя виденное, выразив его через музыку.

У художника краски, и одними и теми же цветами рождаются разные шедевры, от реализма до абстракционизма. Что они отражают? То же самое, мир нас окружающий взглядом художника.
Программирование тоже творчество, в первую очередь, конкретный код, это во вторую очередь. Отличие программиста от музыканта и художника лишь в инструментах, и способе выражения своих чувств. Что музыканту, что художнику, что программисту важно понимать, чувствовать инструменты, без этого не будет ни Лебединого озера, ни улыбки Джоконды, ни Mac OS. Будет нечто серое, посредственное.

Я это к тому, что все вами сказанное в качестве «аргументов в пользу за», и просто высказываний, и которые, конечно же, касаются программирования, могу переложить на нечто из мира реального, но описывающее именно вашу ситуацию. Ведь ПО, это тоже нечто из реального мира, например, организовывая диалог с пользователем, вы создадите ровной такой, какой будет базироваться на вашем понимании человека, его психологии. Ну а самым ярким примером жизни описанной программистом можно назвать корзину интернет магазина. Вот уж где часто можно видеть – тот, кто ее написал, либо ни разу не был в реальном магазине, либо не задумывался о назначении ее прототипа – реальной тележки на четырех колесах.
 
Теперь абстрагируемся от классов, сессий и прочего, и обрисуем ситуацию вашу, но иными категориями.

>Ну вообрази, что включаемый модуль содержит синтаксически некорректный код. Ну вот случайно по ftp непдокачался код...

Я это сравню со следующим:

На завод N приходит человек, минуя отдел кадров прямым ходом в цех. Мастер цеха – «ты где шляешься?», подзатыльник, к станку его и дает норму, не интересуясь вопросом, сможет ли вообще он выполнить эту работу. Объяснение этого горе работяги – «извините, но я дома штаны забыл», никого не интересуют.

Ситуация на заводе N изменилась в лучшую строну, по мнению руководства.

>А вот если все места, в которых упоминается модуль, оклеить "скотчем"

Для решения проблемы поступили просто и сердито – к работяге приставил наставника, а чтобы штаны не терял к его штанам приставили смотрителя.

Абсурд да? Ну не может быть такого в реальной жизни, ибо и штат завода прописан, и прием на работу согласно законодательства, и есть те, кто за этим следит. Так почему вы свое производство строите на абсурде? Получается, что ваш завод (сайт) имеет штат (скрипты), но управление ими (базовое или файловое управление конфигурацией) либо отсутствует вообще, либо крайне не продумано.

Просто в голове не укладывается ваша логика. Про сессию можно и промолчать, это вы скорее не подумаши ляпнули, но вот то, что вы, фактически, пытаетесь следить не только за своими рабочими, но и за их штанами, это поражает. Смысл в чем? Неужели эти две сущности равнозначны и каждая из них есть главная? Нет, не продумано у вас производство, обанкротится, если вы не устраните издержки в нем.

Длинный монолог, но как иначе. )


Это сообщение отредактировал(а) whatisnot - 11.2.2015, 20:02
PM MAIL   Вверх
ksnk
Дата 11.2.2015, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



baldina, Каким еще способом, кроме сессии, я могу сказать приложению, что вот этот вот модуль на самом деле включен? 
Кстати, для того приложения, в котором мне пришлось делать поиск, сессия стартовала только при заполнении форм обратной связи. Да и там, по сути, была не очень то нужна... 
Цитата(whatisnot @  11.2.2015,  19:55 Найти цитируемый пост)
Длинный монолог, но как иначе. )

А по сути есть что сказать?

Резюмирую, для простоты понимания.
Я предлагаю использовать отдельный инструмент, который по моим представлениям, позволяет достаточно безопасно для посетителей, заниматься отладкой достаточно сложного дополнительного функционала, прямо на сайте, без его отключения.  Безопасность, в этом случае, означает, что посетители всегда имеют рабочую версию сайта. 
Для использования инструмента нужно придерживатьс несложной дисциплины и следить за правильным синтаксисом в "местах вклейки".

whatisnot, и baldina сомневаются в нужности такого механизма и утверждают, что его вполне можно заменить на флаги в сессии (специальные права юзеров - вписываются в это понятие ).



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
baldina
Дата 12.2.2015, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(ksnk @  11.2.2015,  20:47 Найти цитируемый пост)
baldina, Каким еще способом, кроме сессии, я могу сказать приложению, что вот этот вот модуль на самом деле включен?

оставьте в покое сессию, про нее я всего лишь заметил, что это стандартный, более высокоуровневый механизм, чем raw куки.
смысл предложения сводится к тому, чтобы меньше опираться на дисциплину, больше - на структуру проекта, а также меньше выполнять действий при подключении/переключении в продакшн нового функционала.
мой пример кратко можно переписать так:
Код

if (isTester() || inProduction($module))
  include ($module)
;
вопрос, как реализовать isTester() и inProduction() - в общем случае флеймовый, т.к. фреймворки обычно содержат подобные средства, а как организован проект на чистом php, и насколько в него можно влезть, знает только автор

Цитата(ksnk @  11.2.2015,  20:47 Найти цитируемый пост)
для того приложения, в котором мне пришлось делать поиск, сессия стартовала только при заполнении форм обратной связи

вы доделываете чужое? стартуйте сессию сами. если вы можете записать куки, то и сессия стартует.
кстати, вы на этом основании насмехались? м-да... хотелось бы услышать и другие доводы против сессий, кроме того, что "так бывает"

Цитата(ksnk @  11.2.2015,  20:47 Найти цитируемый пост)
Я предлагаю использовать отдельный инструмент

инструмент ваш, как и любой другой, имеет право на жизнь, но обладает некоторыми недостатками, на которые вам любезно указали. Ну или скажите, что это инструмент для допиливания проектов, сделанных неизвестно кем неизвестно как. Это будет немного иная тема. Например, моментально встанет вопрос о месте включения вашего кода, т.к. априори неизвестно как организован вывод в проекте.
PM MAIL   Вверх
ksnk
Дата 12.2.2015, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(baldina @  12.2.2015,  00:10 Найти цитируемый пост)
Ну или скажите, что это инструмент для допиливания проектов, сделанных неизвестно кем неизвестно как. Это будет немного иная тема.

Да. Я в нескольких местах это, вроде, уже говорил. Вероятно, недостаточно явно. Область применения - доделка неизвестно кем, неизвестно когда и неизвестно на чем написанных проектов. "Неизвестно" - в рамках моей способности понять код и способности кода работать на php5.2++.
С такими условиями, аппеляции к галочкам в админке и правам на модули несколько необоснованы. Что, видимо и вызвало мой нездоровый смех  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
whatisnot
Дата 12.2.2015, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Да, работая над каким либо сторонним движком, вы можете быть ограничены рамками, соглашениями и условиями этого движка, приходиться изголяться иногда. Но либо вы запутали всех, либо в пылу дискуссии появилась ветвь случайная, но как бы то ни было, вопросы остаются.

Сказать по сути - а что? Я вам и сказал как раз по сути, ибо случай с FTP, это уму не постижимо так же, как и с абсурдом мной описанным. Это что получается, составляющие вашего модуля грузятся на сервер по собственной инициативе и мало того, еще и не дождавшись загрузки окончательной, самовольно подключаются и начинают работать? Как еще можно понять это вами написанное?

Я не понимаю, какова же концепция, иерархия модуля, если для управления им требуются такие неоправданные механизмы - ставить заплатки в различных местах.

Не понятно на примерах отвлеченных? Пожалуйста – ваш модуль в контексте некоего механизма вашего, это дерево каталогов, вложения которого нельзя скрыть, скрыв родительский их каталог. Вот ровно так я и понимаю ваш модуль. Это, а не куки, для меня является абсурдом. 

Есть ведомый первичный скрипт (primary), есть ведомые вторичные скрипты (secondary). Не может secondary существовать без primary, и если у primary режим «показать только мне», то и secondary вижу только я.  А так как концепция ваших модулей остается тоже тайной за семью печатями (сути их вы ведь тоже не описываете), то я и делаю вывод - все ваши доводы, что нельзя управлять всеми, выключив только родителя, просто надуманные. 


Это сообщение отредактировал(а) whatisnot - 12.2.2015, 14:40
PM MAIL   Вверх
ksnk
Дата 12.2.2015, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



whatisnot, Искренне завидую человеку, который не в состоянии понять о чем я говорю. Серьезно  smile Я, вероятно, мечтал бы жить в таких тепличных условиях.

А в моей реальности встречается вот, например, такое: 
Проект, в которой 2/3 контента выглядят как в меру разумно сверстанный html, в начале которого стоит <? include header.php ?>, а в конце <? include footer.php ?> и хидер и футер - такой же в меру разумно сверстанный html. Остальная треть - какие-то формы, сверстанные с тем же минимализмом. Мне, почему то, кажется, что это не такие уж и редковстречающиеся условия...



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
whatisnot
Дата 12.2.2015, 15:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Это уже не абсурд, это уже кошмар, ей богу. В чем может ограничение в стандартном - подключение шапки и подвала, а в середине основной контект, чего то там? Чего в этих формах такого, что не позволяет управлять подключением по управляющему им скрипту?

То что вы привели ни как не описывает проблемы, да и если она вообще.



PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1057 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.