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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Замена cуперглобального предопределённог массива 
:(
    Опции темы
Simpliest
Дата 18.9.2009, 14:39 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(bars80080 @  18.9.2009,  14:27 Найти цитируемый пост)
не совсем понимаю, как это мне даст выяснить корень

Используя относительные пути (или правило их построения для модулей системы)

Варианта собственно два.
Или система говорит модулю, где и кто лежит.
Или существуют правила формирования путей для модулей.
Есть третий вариант - хардкодинг
В противном случае никто не знает ничего smile  И система не работоспособна 

Цитата(bars80080 @  18.9.2009,  14:27 Найти цитируемый пост)
а как же универсальность? неужели нельзя сделать, чтобы скрипт одинаково работал в обоих вариантах? или придётся писать отдельную версию для работы под cron, к примеру? 

Вообще-то да, лучше отдельный вариант.

А универсальность реализуется легко. Собственно функционал выносишь в отдельный модуль. А к нему пишешь два интерфейса - консольный и веб.

В зависимости от места применения используешь тот или иной интерфейс.



--------------------
user posted image
PM   Вверх
bars80080
Дата 18.9.2009, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



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

Репутация: 71
Всего: 315



Цитата(Simpliest @  18.9.2009,  14:39 Найти цитируемый пост)
 А к нему пишешь два интерфейса - консольный и веб.

В зависимости от места применения используешь тот или иной интерфейс.

т.е. два разных варианта. фигово


Цитата(Simpliest @  18.9.2009,  14:39 Найти цитируемый пост)
Варианта собственно два.
Или система говорит модулю, где и кто лежит.
Или существуют правила формирования путей для модулей.
Есть третий вариант - хардкодинг

мдя. собсна ручками при установке прописываем системе (одному главному скрипту) где она находится, а от неё строим все пути
PM MAIL WWW   Вверх
NewDima
Дата 18.9.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



bars80080, возникло ощущение после твоих постов, что php-скрипт - некий червь, шныряющий по просторам интернета, и не знающий, ничего
PM ICQ   Вверх
bars80080
Дата 18.9.2009, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



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

Репутация: 71
Всего: 315



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

есть хоть что-то стабильное в этом мире?
PM MAIL WWW   Вверх
IZ@TOP
Дата 18.9.2009, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



bars80080, собственно, про QUERY_STRING я ничего не говорил. От этой части не зависит работоспособность кода.
На вопрос - как быть, можно дать несколько советов.

1. Используйте конфиг для определения корня и при подключении его относительные пути. 
Этот вариант хорош, если вы не таскаете файлы постоянно из папки в папку, в которых подключается конфиг.

/www/s.ru/config.php
Код
define('ROOT_DIR', dirname(__FILE__));


/www/s.ru/htdocs/index.php
Код
require '../config.php';


2. Пропишите в php.ini или стартовом/конфигурационном файле include_path как /www/sitename.ru.
В таком случае, мы считаем, что любой инклуд из любого места будет происходить с учетом этого пути.
Код
include_path = ".:/www/s.ru:/www/s.ru/framework"

Или тоже самое при помощи ini_set.

С Апачем и потерей DOCUMENT_ROOT можно столкнуться при особых обстоятельствах.

Для конфигурирования кроновских скриптов идеологически верно, на мой взгляд, использовать отдельный конфиг.
Вернее не так, у вас для проекта должна быть конфиграция разделена на общий конфиг (подключение к бд и т.п.) и конфигурации приложения (WEB, CLI режими, к примеру).

Добавлено через 3 минуты и 35 секунд
Цитата(bars80080 @  18.9.2009,  17:12 Найти цитируемый пост)
есть хоть что-то стабильное в этом мире?

Есть прямые руки и еще раз прямые руки. Ну и хостинги с кривыми руками есть, а еще есть новые технологии, нестандартные задачи, PHP в FASTCGI режиме под Nginx'ом и забытые заголовки. Всякое бывает.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Simpliest
Дата 18.9.2009, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(bars80080 @  18.9.2009,  16:01 Найти цитируемый пост)
т.е. два разных варианта. фигово

Хм, а тебя не смущает что работа с файлами и БД организовывается несколько по-разному?

К тому же даже в случае cron есть вариант вызывать именно web вариант (выше уже говорили) 

cron wget "url-скрипта"

Это сообщение отредактировал(а) Simpliest - 18.9.2009, 16:20


--------------------
user posted image
PM   Вверх
IZ@TOP
Дата 18.9.2009, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(Simpliest @  18.9.2009,  17:20 Найти цитируемый пост)
cron wget "url-скрипта"

Я бы за такое убил/уволил.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Simpliest
Дата 18.9.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(IZ@TOP @  18.9.2009,  16:25 Найти цитируемый пост)
Я бы за такое убил/уволил. 

Зато это пишется на целых 4ре минуты быстрее, чем CLI интерфейс к модулю smile


--------------------
user posted image
PM   Вверх
IZ@TOP
Дата 18.9.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Simpliest, CLI-интерфейс к модулю пишется единожды, централизованный раннер. А wget особенно прекрасен когда я намертво запрещу исполнение PHP скрипта веб-сервером более 30 секунд. Про частные случае, кривые руки и глупых админов мы не говорим.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
bars80080
Дата 18.9.2009, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



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

Репутация: 71
Всего: 315



Цитата(Simpliest @  18.9.2009,  16:20 Найти цитируемый пост)
а тебя не смущает что работа с файлами и БД организовывается несколько по-разному?

ну, вообще-то это разные вещи. общаться с файлами напрямую или с неким интерфейсом

а предложение: запустить скрипт - само по себе не несёт какой-то принадлежности, потому и вызывает отторжение, что для одной работы приходится иметь два разных стартера


Цитата(IZ@TOP @  18.9.2009,  16:16 Найти цитируемый пост)
Есть прямые руки и еще раз прямые руки.

на это я могу ответить только новостью, что мы не пишем на машинных кодах, хотя были бы прямые руки...
могу напомнить, что есть такая хрень, как perl, глядя на которую кто-то в своё время придумал php. вроде тоже самое, но удобство.
да и сам пхп - суть надстройка над C
теперь придётся писать надстройку над пхп, чтобы в разных ситуациях скрипт работал одинаково
PM MAIL WWW   Вверх
Simpliest
Дата 18.9.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(bars80080 @  18.9.2009,  18:47 Найти цитируемый пост)
ну, вообще-то это разные вещи. общаться с файлами напрямую или с неким интерфейсом

А Standalone и Web приложение это тоже разные вещи.

Я не открою вам Америку, но большинство программистов десктоп-приложений не знают даже об MVC, просто потому что представление и логика у них в одном месте (это в вебе они заметно разделены)



--------------------
user posted image
PM   Вверх
bars80080
Дата 18.9.2009, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



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

Репутация: 71
Всего: 315



Цитата(Simpliest @  18.9.2009,  20:36 Найти цитируемый пост)
А Standalone и Web приложение это тоже разные вещи.

понятие запустить скрипт и запустить скрипт автоматически - не очень разные
PM MAIL WWW   Вверх
Simpliest
Дата 18.9.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(bars80080 @  18.9.2009,  21:17 Найти цитируемый пост)
понятие запустить скрипт и запустить скрипт автоматически - не очень разные 

Брр, кто-то из нас двух бредит.

Формат запуск CLI-скрипта из командной строки и по cron абсолютно одинаков

имя_скрипта.php параметр1 параметр2

Вы же хотите вызывать Веб-приложение из командной строки - что есть нонсенс (извращенные методы есть и уже обсуждались).
Эдак вы докатитесь до требований сделать единый номер телефона для милиции и девочек по вызову.


--------------------
user posted image
PM   Вверх
bars80080
Дата 19.9.2009, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



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

Репутация: 71
Всего: 315



Цитата(Simpliest @  18.9.2009,  22:20 Найти цитируемый пост)
Вы же хотите вызывать Веб-приложение из командной строки - что есть нонсенс (извращенные методы есть и уже обсуждались).

послушайте, вы сейчас начинаете вгрызаться в какой-то инструментарий не видя сути дела.

есть программа которая выполняется при запросе клиента, возникает резонный вопрос - запустить её автоматически, без участия человека. разработчик пишет приложение, которое делает это. всё отлично, всё понятно. одно только "но". он почему-то пишет механизм в котором часть системы не работает. 
это по определению кривой концепт, просто потому, что он не реализует поставленной цели - заменить человека. а вы говорите, что так и должно быть. причём здесь какие-то кли-шмли?
PM MAIL WWW   Вверх
brother79
Дата 19.9.2009, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

define('ROOT_DIR',    realpath(dirname(__FILE__).'/..'));


Это сообщение отредактировал(а) brother79 - 19.9.2009, 07:07


--------------------
PM MAIL WWW   Вверх
Страницы: (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.1401 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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