|
|
|
| Передаем параметр функции, который является частью имени группы переменных var
Надо из одного параметра получить новые переменные. var1 var2 var3 var4
К этому параметру путем простого добавления символов получить новые имена переменных, а лучше получить ИМЕНА КОНСТАНТ
<?
var1="1"; var2="2"; var3="1"; var4="4";
function n1(param) {
// надо сформировать доступ к переменным var1, var2, var3, var4.....
}
// вызываю с одним параметром
n1("var");
?>
|
| |
|
|
|
|
|
|
|
для: roma67
(16.05.2012 в 11:54)
| | А если поступить проще, все переменные в один массив и в функцию? | |
|
|
|
|
|
|
|
для: roma67
(16.05.2012 в 11:54)
| |
<?
var1="1"; var2="2"; var3="1"; var4="4";
function n1($param) {
// надо сформировать доступ к переменным var1, var2, var3, var4.....
return $$param
}
// вызываю с одним параметром
echo n1("var1"); //1
echo n1("var2"); //2
?>
|
| |
|
|
|
|
|
|
|
для: speedsoft
(16.05.2012 в 13:31)
| | Я тут не понял. Конечно вопрос задал диковато я. Не получилось.
У меня есть объекты, набор констант для них.
Что бы не размножать число похожих переменных, хочу получить новые имена переменных добавлением символьных значений.
Конкретный пример.
1. Есть формы регистрации, формы входа, формы выхода юзера, формы добавлении ..., удаления... много разных форм
2. Если Передаю параметр $USER_FORMA в функцию, надо внутри функции создать доступ к переменным $USER_FORMA_ADD, $USER_FORMA_EDIT, $USER_FORMA_DELETE ...
3. Если Передаю параметр $NEWS_FORMA в функцию, надо внутри функции создать доступ к переменным $NEWS_FORMA_ADD, $NEWS_FORMA_EDIT, $NEWS_FORMA_DELETE
...
... | |
|
|
|
|
|
|
|
для: roma67
(16.05.2012 в 13:52)
| |
<?
function n1($param) {
$add = $params.'_FORMA_ADD';
$edit = $params.'_FORMA_EDIT';
$del = $params.'_FORMA_DELETE';
echo $$add;
echo $$edit;
echo $$del;
}
// вызываю с одним параметром
n1("USER"); // выведутся USER_FORMA_ADD, USER_FORMA_EDIT, USER_FORMA_DELETE
n1("NEWS"); // выведутся NEWS_FORMA_ADD, NEWS_FORMA_EDIT, NEWS_FORMA_DELETE
?>
|
| |
|
|
|
|
|
|
|
для: roma67
(16.05.2012 в 11:54)
| | может быть Вас такой вариант устроит?
for ($i=1;$i<4;$i++)
${"var".$i} = $i;
|
| |
|
|
|
|
|
|
|
для: Lotanaen
(16.05.2012 в 13:54)
| | Я извиняюсь, что не конкретизировал сразу
$var может быть USER, а нужны имена переменных $USER_FORMA_ADD, $USER_FORMA_EDIT, $USER_FORMA_DELETE ...
$var может быть NEWS, а нужны имена переменных $NEWS_FORMA_ADD, $NEWS_FORMA_EDIT, $NEWS_FORMA_DELETE
$var может бытьCOMM... | |
|
|
|
|
|
|
|
для: roma67
(16.05.2012 в 14:02)
| | все равно все сводится к тому, чтобы перевести строку в переменную, для этого используйте $$
<?
$USER_FORMA_ADD= 'add';
$USER_FORMA_EDIT = 'edit';
$USER_FORMA_DELETE = 'delete'
$var = 'USER';
$new = $var.'_FORMA_ADD';
echo $$new; //add
$new = $var.'_FORMA_EDIT';
echo $$new; //edit
....
|
| |
|
|
|
|
|
|
|
для: speedsoft
(16.05.2012 в 14:18)
| | А я подумал, что у вас в третьем комменте опечатка
Извиняюсь
Хочется найти приемы сокращения всех этих if...., путем стандартизации
Кажется мелочь, но сокращение размера кода ...
Какой раз мне кажется, что я по вашим стопам иду? Или нет, не по вашим? Или вы давно прошли это? | |
|
|
|
|
|
|
|
для: roma67
(16.05.2012 в 14:32)
| | ну не знаю насколько по моим. Если делаете CMSку свою и пытаетесь таким образом написать общий модуль, то похоже что по моим ))))
я когда-то именно в CMSке извращался таким образом. Да и сейчас она также извращена похожими методами, но там я больше не переменные, а экшены и контроллеры таким образом вызываю.
там где вы создавали поля для класса - таким образом у меня создается объект записи из БД. где свойство объекта = полю БД | |
|
|
|
|
|
|
|
для: speedsoft
(16.05.2012 в 15:00)
| | Ну да, делаю что-то вроде CMSки "своей", используя ваши решения и передовой опыт человечества. "Ползу за полетом вашей мысли"
> экшены и контроллеры..
Это мне не охватить. Не могу среду разработки подобрать с фреймворком и удобоваримым прояснением смысла MVC для взаимопонимания процесса разработки
Раньше у меня было так, открыл 1с- все очевидно и понятно, есть структурно-функциональная организация. Есть главное тело и органы. Потом с 80 что-то стряслось, появилось в ней много мутаций. Система стала эволюционировать и всех стало трясти. Пришлось бросить.
Сейчас 1с исправляется, зачищается.
Я ушел в веб и ничего годного к "проращиванию" не нашел.
Все разбилось в пустоте среды разработки и подходящего фреймворка.
ZEnd попробовал - он рассыпается, надо привыкать.
У испытанных мною фреймворков теория описывает одно, а видишь глазами другое. Прямо как у Канта, непознаваемое.
Может тут подтяните. Подскажите полезную среду разработки и исходную болванку, как лекарственный и целебный источник для очищения от вредных накоплений. | |
|
|
|
|
|
|
|
для: roma67
(17.05.2012 в 12:57)
| | Не, тут не подскажу. Сам пробовал и Kohana и ZF, но времени чтобы научиться ездить на них нету, получилось так, что по крошкам проще было собрать свой велосипед и избавиться от зависимости производителя. Может колеса квадратные, но свои :)
Со временем и приходом опыта, обточу колеса и буду пусть не круглые, но уже овальные. | |
|
|
|
|
|
|
|
для: speedsoft
(17.05.2012 в 14:28)
| | Так а в какой среде разработки отображаете структуру проекта из набора файлов, тестируете ...?? | |
|
|
|
|
|
|
|
для: roma67
(17.05.2012 в 14:36)
| | А в этом плане. Я использую NetBeans. | |
|
|
|
|
|
|
|
для: roma67
(16.05.2012 в 14:32)
| | насчет сокращения кода - тот тут нужно не столько сокращать, столько делать декомпозицию. Не старайтесь уместить 10 строк в 1, если от этого потеряется читабельность. потом жалеть будете :)
краткость хоть и сестра таланта, но в меру | |
|
|
|
|
|
|
|
для: speedsoft
(16.05.2012 в 15:01)
| | >делать декомпозицию. Все то же. Тускловатый смысл у меня в голове от этого слова.
Я понимаю, что мыслите вы от проекта?
Мне пришлось ограничится двумя уровнями. Уровнем реальных объектов и их отображением в таблицы данных. Представление же из таблиц в браузер, задаю сейчас частично смешанным кодом, подготавливая шаблонный процесс. "Топтание и брожение ума".
Сейчас целая проблема внедрить простенькую платежную систему. Почти все навязывают делать "глобальную мировую финансовую платежную систему". Другая часть программеров молчит. Результат- не могу сделать заказ и не могу сам написать и сдвинутся с места. | |
|
|
|
|
|
|
|
для: roma67
(17.05.2012 в 13:50)
| | декомпозиция - это значит разбивать код как можно больше (в пределах разумного) на мелкие куски (функции). Взяли задачу, разбили на логические части, эти логические части на подчасти, эти подчасти на еще более мелки подзадачки т.д. пока не образуются неделимые, атомарные части. | |
|
|
|
|
|
|
|
для: speedsoft
(17.05.2012 в 14:31)
| | Этот состав слов известен.
Но если попросить разных людей сделать по вашему описанию - у всех результат разный.
Из этого следует, что теория грешна и превращается в догму и наукообразную ширму.
Прояснение возникает после практической реализации формализованных систем проектирования. В разных - разная, но похожая теория. | |
|
|
|
|
|
|
|
для: speedsoft
(17.05.2012 в 14:31)
| | Может с платежной системой посоветуете(модуль оплаты) что-нить?
У меня в этом вопросе 0, с чего начать(общие вопросы и рабочий скрипт к ним) и на чем быстрее новичку реализовать оплату с сайта.
На WEbMoney какие то аттестаты, регистрации и еще чего-то?
Без этого никак не обойтись, обязательно ли в этом надо копать и тратить время?
Если да, то как быстрей создать новичку к простую автоматизированную оплату с сайта? | |
|
|
|