Спустя 2 минуты, 52 секунды (25.03.2012 - 14:05) johniek_comp написал(а):
используй константы define()
Спустя 31 минута, 56 секунд (25.03.2012 - 14:37) Игорь_Vasinsky написал(а):
Ну смотри тут как вариант написать функции для информирования юзера
(я так понимаю что речь идет о твоей цмс, т.е. предостеречь пользователя при расширении функцианала цмс - не запороть весь миханизм случаным переназначением тваоей переменной)
т.е. можно при обломе возращать алерт JS, при удаче - саму переменную.
так же как вариант - можно сделать доп. раздел в админке с выводом всех объявленных переменных и констант.
(я так понимаю что речь идет о твоей цмс, т.е. предостеречь пользователя при расширении функцианала цмс - не запороть весь миханизм случаным переназначением тваоей переменной)
//Проверяем есть ли переменная $mcpagesall
$allDefined = get_defined_vars();
if(array_key_exists('mcpagesall', $allDefined))
echo 'УЖЕ ОПРЕДЕЛЕНА!!!!';
else
echo 'ЕЩЁ НЕ ОПРЕДЕЛЕНА!!!';
т.е. можно при обломе возращать алерт JS, при удаче - саму переменную.
так же как вариант - можно сделать доп. раздел в админке с выводом всех объявленных переменных и констант.
Спустя 5 минут, 47 секунд (25.03.2012 - 14:43) Игорь_Vasinsky написал(а):
Цитата |
используй константы define() |
400 констант
Спустя 37 минут, 51 секунда (25.03.2012 - 15:21) inpost написал(а):
Deert
Внимательным быть к своему же коду...
Внимательным быть к своему же коду...
Спустя 11 минут (25.03.2012 - 15:32) Shkiper написал(а):
Цитата (Игорь_Vasinsky @ 25.03.2012 - 11:37) |
Ну смотри тут как вариант написать функции для информирования юзера (я так понимаю что речь идет о твоей цмс, т.е. предостеречь пользователя при расширении функцианала цмс - не запороть весь миханизм случаным переназначением тваоей переменной) //Проверяем есть ли переменная $mcpagesall т.е. можно при обломе возращать алерт JS, при удаче - саму переменную. так же как вариант - можно сделать доп. раздел в админке с выводом всех объявленных переменных и констант. |
Можешь мне коечто посоветовать???? Как мне лучше реализовать вывод страниц на подобии такое УРЛа cms/?do=registration??? Я сделал так если есть переменная ГЕТ do то загружаем файл со страницами(page.class.php) и задаем значение переменной($page которая выводиться в шаблоне) и потом она выводиться, а если нет то, задаем с помощью буферизации, вывод всех новостей на сайте и постраничную навигацию. Надежна ли такая конструкция???? и можно ли увидеть твое решение этой проблемы???
Спустя 29 минут, 38 секунд (25.03.2012 - 16:01) johniek_comp написал(а):
Deert
чем не вариант
чем не вариант
Спустя 57 минут, 28 секунд (25.03.2012 - 16:59) twin написал(а):
Цитата (Игорь_Vasinsky @ 25.03.2012 - 11:43) | ||
400 констант |
Чем отличается от 400 переменных, инициализированных извратным способом, не дающим их переопределять?
Спустя 14 минут, 14 секунд (25.03.2012 - 17:13) Shkiper написал(а):
johniek_comp я както не все там понял.
Спустя 1 минута, 8 секунд (25.03.2012 - 17:14) Shkiper написал(а):
johniek_comp sorry опечатался посмотрю!!!
Спустя 20 минут, 43 секунды (25.03.2012 - 17:35) Игорь_Vasinsky написал(а):
inpost
Речь как я понял о возможности сторонних разработчиков расширять функционал самописной CMS
twin
Речь как я понял о возможности сторонних разработчиков расширять функционал самописной CMS
twin
Цитата |
Чем отличается от 400 переменных, инициализированных извратным способом, не дающим их переопределять? |
о каком извратном способе ты говоришь?
Джонек - ты опять предлагаешь классы....
Спустя 10 минут, 8 секунд (25.03.2012 - 17:45) Shkiper написал(а):
Игорь_Vasinsky а чем классы плохи???? Предложи свой вариант.
Спустя 3 минуты, 49 секунд (25.03.2012 - 17:49) Shkiper написал(а):
johniek_comp мне это чем-то PHP фреймфорк напоминает!!!
Спустя 45 минут, 33 секунды (25.03.2012 - 18:34) caballero написал(а):
Цитата |
а чем классы плохи???? Предложи свой вариант. |
начали за здравие а заканчиваем за упокой
какое отношение имеют классы к изначальному вопросу щ неизменяемых переменных?
Научись нормально формулировать вопросы чтобы получать ответы нормальные а не кто в лес кто по дрова.
как можно кодировать да еще и на бабло рассчитывать если по русски двух слов внятно связать не можешь.
Спустя 59 минут, 43 секунды (25.03.2012 - 19:34) johniek_comp написал(а):
Deert
так это он и будет, если сделать охуе***ю штуку(ядро) по MVC etc...то должно не плохо получится, главное что ничего не путается и все разложено по полочкам
так это он и будет, если сделать охуе***ю штуку(ядро) по MVC etc...то должно не плохо получится, главное что ничего не путается и все разложено по полочкам
Спустя 7 минут, 12 секунд (25.03.2012 - 19:41) twin написал(а):
Игорь_Vasinsky
Цитата |
о каком извратном способе ты говоришь? |
О таком:
Цитата |
//Проверяем есть ли переменная $mcpagesall т.е. можно при обломе возращать алерт JS, при удаче - саму переменную. |
Для чего нужно запрещать переопределение переменной, если для этого есть константы? И почему это лучше?
Спустя 6 минут, 18 секунд (25.03.2012 - 19:48) inpost написал(а):
Игорь_Vasinsky
Ну этого не говорится в условии.
Если уж так, то я на прошлой неделе писал в соседней теме.
Есть префиксы, которые дадут понять, что данные переменные являются основой движка, которые трогать нельзя. Так же есть мануалы, в которых пишут о таких переменных, и в заключение - указка и своих подчиненных бить по рукам, которые отказываются хотя бы основы движка почитать.
Ну этого не говорится в условии.
Если уж так, то я на прошлой неделе писал в соседней теме.
Есть префиксы, которые дадут понять, что данные переменные являются основой движка, которые трогать нельзя. Так же есть мануалы, в которых пишут о таких переменных, и в заключение - указка и своих подчиненных бить по рукам, которые отказываются хотя бы основы движка почитать.
Спустя 29 минут, 42 секунды (25.03.2012 - 20:17) Игорь_Vasinsky написал(а):
Цитата |
Для чего нужно запрещать переопределение переменной, |
чтобы не переопределить переменную используемую в движке и не поломать его работу.
Цитата |
если для этого есть константы? И почему это лучше? |
Ну ИМХО - константы же в глобальной зоне видимости, переменныые в локальной, предположу что использование последних меньше ресурсоемкое занятие, опять же - предположу.
да и потом вопрос о переменных.
И инпост - ответил - использовать (или рекомендовать использовать) - префиксы.
Спустя 3 минуты, 35 секунд (25.03.2012 - 20:21) Shkiper написал(а):
Скажите вот такой вариант хорош:
page.class.php
P.S: Я понимаю что мой вариант не хорош, и не проффесионален, но что смог. Оцените мое решение проблемы и(кому не сложно) представте мне свой код(охото что б он был проффесионален(ну это на ваше усмотрение))
if(iiset($_GET['do']))
{
if(empty($_GET['do']))
{
exit(header("Location: 404.html"));
}else{
include './system/classes/page.class.php';
}
}else{
вывод всех новостей
}
page.class.php
switch($_GET['do'])
case "registration":
$page = file_get_contents('template/registration.tpl');
P.S: Я понимаю что мой вариант не хорош, и не проффесионален, но что смог. Оцените мое решение проблемы и(кому не сложно) представте мне свой код(охото что б он был проффесионален(ну это на ваше усмотрение))
Спустя 11 минут, 37 секунд (25.03.2012 - 20:32) Игорь_Vasinsky написал(а):
а просто так
не хочешь?
и вообще - как это к теме относиться?
if($_GET['do'])
не хочешь?
и вообще - как это к теме относиться?
Спустя 9 минут, 4 секунды (25.03.2012 - 20:42) Shkiper написал(а):
Да просто мне это надобыло что реализовать страници, а потом понял, тот варинт который я хочу вообще "не катит" на сайт и решил у вас спросить, зачем новую тему создавать(или стоит????)
Спустя 17 минут, 7 секунд (25.03.2012 - 20:59) twin написал(а):
Цитата (Игорь_Vasinsky @ 25.03.2012 - 17:17) |
Ну ИМХО - константы же в глобальной зоне видимости, переменныые в локальной, предположу что использование последних меньше ресурсоемкое занятие, опять же - предположу. да и потом вопрос о переменных. |
Константы потому и в глобальной области, что не страшно их переопределить. Нет смысла их прятать. Насчет ресурсоемкости - это не так. Да и функция, которая должна каждый раз проверять переменную разве не ест ресурс?
Я просто это к тому, что дали же нормальный совет - использовать тот инструмент, который именно для этого и предназначен. Константы. А переменные на то и переменные, что их значение можно переменить.
Спустя 3 минуты, 36 секунд (25.03.2012 - 21:02) Игорь_Vasinsky написал(а):
яж говорил - про то - если человек будет писать новый модуль для самописки - ему что - везде константы юзать. (это о префиксах)
про ресурсоёмкость - предполагал - знать буду.
про ресурсоёмкость - предполагал - знать буду.
Спустя 10 часов, 49 минут, 5 секунд (26.03.2012 - 07:51) Shkiper написал(а):
Блин чё никто не хочет мне помочь!???
Спустя 32 минуты, 35 секунд (26.03.2012 - 08:24) Игорь_Vasinsky написал(а):
а чем?
Спустя 13 минут, 46 секунд (26.03.2012 - 08:38) Shkiper написал(а):
Или мне кажеться, или я это 200 раз повторил:
Скажите вот такой вариант хорош:
if(iiset($_GET['do']))
{
if(empty($_GET['do']))
{
exit(header("Location: 404.html"));
}else{
include './system/classes/page.class.php';
}
}else{
вывод всех новостей
}
page.class.php
switch($_GET['do'])
case "registration":
$page = file_get_contents('template/registration.tpl');
P.S: Я понимаю что мой вариант не хорош, и не проффесионален, но что смог. Оцените мое решение проблемы и(кому не сложно) представте мне свой код(охото что б он был проффесионален(ну это на ваше усмотрение))
Спустя 5 минут, 44 секунды (26.03.2012 - 08:43) twin написал(а):
Вариант не просто плох, а ни в какие рамки. Даже судя по тому, что ты его сам ни разу не запускал.
Спустя 29 минут, 55 секунд (26.03.2012 - 09:13) Shkiper написал(а):
twin а можно твой пример???
Спустя 8 минут, 39 секунд (26.03.2012 - 09:22) twin написал(а):
Спустя 1 час, 11 минут, 3 секунды (26.03.2012 - 10:33) Игорь_Vasinsky написал(а):
ну во первых ты нарушаешь договорённость программистов классы хранить в одноимённых файлах с постфиксом "class"
Цитата |
include './system/classes/page.class.php'; |
ты хранишь там чёрти чё.
Потом смотри что у тя происходит
//Во-первых isset(), если есть $_GET['do']
if(iiset($_GET['do']))
{
//Если пуста $_GET['do']
if(empty($_GET['do']))
{
exit(header("Location: 404.html"));
}
//Если не пуста $_GET['do'], хотя я могу и пробел отправить
else
{
include './system/classes/page.class.php';
}
}
//Если нету в урл $_GET['do'] - выведем все новости
else
{
//вывод всех новостей
}
Вообщем - анти алгоритм.
Ты совсем меня с толку сбил и я не могу понять - как у тя вывод всех новостей зависит от $_GET['do'], ты либо используешь не правильный алгоритм, либо не правильно его описываешь.
Спустя 3 часа, 37 минут, 9 секунд (26.03.2012 - 14:10) Shkiper написал(а):
Игорь_Vasinsky вывод новостей у меня не по $_GET[do] делается(смотори файл postnews.php)
Помоги мне с алгоримом построения сайта, чтобы "все было по полочкам разложено"(кто-то писал не помню). Хотяб сылкой на сайт где это можно найти (кроме irbis-team конечно)
Помоги мне с алгоримом построения сайта, чтобы "все было по полочкам разложено"(кто-то писал не помню). Хотяб сылкой на сайт где это можно найти (кроме irbis-team конечно)
Спустя 3 минуты, 36 секунд (26.03.2012 - 14:14) Игорь_Vasinsky написал(а):
так ты недавно архив с CMS выкладывал
какой сайт, алгоритм дело тонкое.
какой сайт, алгоритм дело тонкое.
Спустя 1 минута, 27 секунд (26.03.2012 - 14:15) Shkiper написал(а):
Ну хотяб натолки меня на путь истиный
Спустя 1 час, 45 минут, 10 секунд (26.03.2012 - 16:00) twin написал(а):
Цитата (Игорь_Vasinsky @ 26.03.2012 - 07:33) |
ну во первых ты нарушаешь договорённость программистов классы хранить в одноимённых файлах с постфиксом "class" |
Нет такой договоренности. Кроме того, точка в имени файла достаточно хреновая практика. Если тебе нравится и нестрашны проблемы - твое право. Но от лица "договорившихся программистов" ты это зря
Спустя 24 минуты, 52 секунды (26.03.2012 - 16:25) Shkiper написал(а):
Короче никто мне непоможет. Жаль........
Спустя 2 часа, 26 минут, 19 секунд (26.03.2012 - 18:52) I++ написал(а):
Если это ядро будет тормозить жутко, внедряя стиль ООП ко всему... нужно ли оно?
В большинстве случаев хватает процедурного подхода. Я параноик по части производительности скриптов, так, что ооп использую только когда без него больше гемороя.
<?php
class varibles
{
private $vars = array();
public function get_var($id)
{
if(isset($this->vars[$id]))
{
return $this->vars[$id];
}
}
public function set_var($id, $val)
{
$this->vars[$id] = $val;
if($this->vars[$id] === $val)
return true;
else
return false;
}
}
class const_varibles
{
private $vars = array();
public function get_var($id)
{
if(isset($this->vars[$id]))
{
return $this->vars[$id];
}
}
public function set_var($id, $val)
{
if(!isset($this->vars[$id]))
{
$this->vars[$id] = $val;
if($this->vars[$id] === $val)
return true;
else
return false;
}
else
return false;
}
}
?>
В большинстве случаев хватает процедурного подхода. Я параноик по части производительности скриптов, так, что ооп использую только когда без него больше гемороя.
Спустя 1 час, 14 минут, 36 секунд (26.03.2012 - 20:06) Игорь_Vasinsky написал(а):
Цитата |
Нет такой договоренности. |
да, ошибился.
Спустя 6 минут, 44 секунды (26.03.2012 - 20:13) Shkiper написал(а):
I++ попробую, может что получится...