[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обсуждение ExampleCMS от chee
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Arh
Хотя может я не прав.

Поковырялся у себя, понял что кэш тоже сохраняю с точкой иногда
допустим
cache->set('page.name',$value);

Только тут создаётся файл с таким именем, а если кеш переделать не на файлы, а на память, то просто будет значение с ключом page.name

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



$_SESSION['name'] = 'вася';
//vs
session->set('name','вася');



$_SESSION['user.name'] = 'вася';
//vs
session->set('user.name','вася');


хотя тут будут сложности с удалением ключа

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
bestxp
Цитата
синтаксис с точкой это очень удобная штука и знаком с ней тоже очень давно, вроде столкнулся примерно года 2-3 назад
Вообще это типовой синтаксис многих шаблонизаторов. SMARTY в частности. Но это не уменьшает его суррогатности. Даже больше, еще и с шаблонизатором ассоциации.

Ну а что, в Yii не удобно без точек?

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Arh
Цитата
то вообще есть ли смысл строку разбивать на массив?
Тут речь шла про многомерные массивы.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Arh
twin
array(
'user' => array (
'name' => array (
'вася' => ''
)
)
)

$_SESSION['user.name.вася']
$_SESSION['user.name.петя']


Многомерный массив спокойно можно записать так =)
Но как я уже заметил выше, не получиться сразу удалить ключ user, или както отсортировать, или еще что, по этому придётся из точек перегонять в массив.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
volter9
twin
Это не "прошлый век", а скорее ваше мнение по этому поводу. Исходя из вашего умозаключения, тогда и Java и JS это "прошлый век" т.к. там используются точки для доступа к элементам объекта и вызова статических и instance методов:

var obj = {
foo: { bar: { three: 'abc' } }
}


console.log(obj.foo.bar.three); // abc

// Или так только с динамическими ключами:


var key = 'bar';

console.log(obj.foo[key].three);


Arh
Как у тебя в примере не сработает:
$array = [];
$array['abc.abc'] = 10;
$array['foo.bar'] = 20;

var_dump($array);
/*
Результат:
array(2) {
'abc.abc' =>
int(10)
'foo.bar' =>
int(20)
}
*/


_____________
Мой блог
ApuktaChehov
Точки, запятые - все это шлак. Серьезные люди делают так: http://habrahabr.ru/post/103834/
;)
Обращение к массиву как к полю объекта
$my->some->sub = 'test';
echo $my->some->sub; // выведет 'test'

$my->some = array('abc' => 123);
echo $my->some->abc; // выведет '123


_____________
twin
volter9
Цитата
Это не "прошлый век", а скорее ваше мнение по этому поводу.
Разумеется мое мнение. Я разве отрицал? Я вообще считаю, что на форумах можно высказывать только собственное мнение. Даже если его не поддерживает большинство.

Вот chee считает, что все квалифицированные программисты обязаны писать на ООП. А википедия говорит, что кроме ООП существует еще целых 5 методологий императивного программирования. По его мнению все, кто пишут на остальных пяти - лохи. И их мнение учитывать не нужно.

И смотрится он глупо, потому что это инструменты, которые удобно использовать в соответствующих условиям случаях. Он хочет кушать все только ложкой, потому что в неё больше входит. А на столе еще куча приборов. И вилки, и ножи и даже щипцы для омаров.

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

Но не важно, по теме.

Я имел ввиду именно PHP, когда говорил про прошлый век.
Цитата
Исходя из вашего умозаключения, тогда и Java и JS это "прошлый век"
Еще есть ActionScript, я с него начинал. И SMARTY, я упоминал уже. В них тоже такой синтаксис. Но это синтаксис языка. Там это естественно от природы. Было бы странным, если бы в JS стали бы писать обертки для адаптации синтаксиса с PHP. И ползали бы по дереву через стрелку, а не через точку.
execute('console->log(obj->foo->bar->three)');

А прошлый век, потому что раньше, в PHP 4, которым меня упрекает chee, не было инструментов для организации нормальной работы с массивами, как с объектами. Таких как ArrayAccess, Iterator и других встроенных интерфейсов. Да и с реализацией объектов было тяжеловато. Вот и пришлось людям заимствовать приемы из других языков, дабы как то выходить из положения.

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

Это мое мнение, акцентирую еще раз. Вы считаете по своему - это здорово. Для того и форум - обмениваться мнениями. :)

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
volter9
ApuktaChehov
Слишком много магии и радуги laugh.gif
Лучше использовать тогда ArrayAccess чем __get и __set (ИМХО).

twin
Цитата (twin @ 17.02.2015 - 21:47)
последних разработках этим уже почти не пользуются

Конечно smile.gif
В симфони это используют (значит скорей всего и в ларавеле, т.к. ларавел это еще один слой над симфони), в этом фреймворке тоже есть такое. Ладно, дальше спорить не буду.

_____________
Мой блог
twin
volter9
Цитата
Конечно smile.gif

Ну я и написал6 "почти".
Цитата
В симфони это используют

В Симфони это используют для записи массива в файл конфиги в строковом виде, это объяснимо. В ту же сессию все пишется иначе.

Что за "этот" фреймворк, я не знаю... Его даже Гугл толком не находит. Может такая же частная поделка, как у нас. smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Invis1ble
Цитата (Arh @ 17.02.2015 - 15:47)
Цитата
Для средняго и профессионального разработчика такой интерфейс будет понятен.


Я бы сходу не понял что за строка туда передаётся.

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

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

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

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

ApuktaChehov
volter9 - ArrayAccess не будет работать с обращением к многомерному массиву, к сожалению (((

Цитата (Arh @ 17.02.2015 - 15:47)
и я только рад буду, что такие как он свалят куда-нибудь подальше в свой уютный мирок говнокодеров.

Да ты шо! Не дай бог! Чем больше таких, тем дороже стоят нормальные разрабы. )

_____________
Invis1ble
Цитата (ApuktaChehov @ 17.02.2015 - 23:05)
Цитата (Arh @ 17.02.2015 - 15:47)
и я только рад буду, что такие как он свалят куда-нибудь подальше в свой уютный мирок говнокодеров.

Да ты шо! Не дай бог! Чем больше таких, тем дороже стоят нормальные разрабы. )

а вот я так не думаю, потому что часть спроса они таки удовлетворяют
но при этом сильно портят впечатление о профессии

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

stump
Цитата (chee @ 16.02.2015 - 15:33)
stump, я так и не понял, что Вы хотите сказать.

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

Хороший класс по работе с сессиями

Цитата
Слишком много магии и радуги laugh.gif
Лучше использовать тогда ArrayAccess чем __get и __set (ИМХО).


volter9 можно использовать ArrayAccess в __get и в __set. Можно миксовать со скаляром.

_____________
Трус не играет в хокей
chee
Цитата (twin @ 17.02.2015 - 21:47)
Вот chee считает, что все квалифицированные программисты обязаны писать на ООП. А википедия говорит, что кроме ООП существует еще целых 5 методологий императивного программирования. По его мнению все, кто пишут на остальных пяти - лохи.

Я такого не писал и даже косвенно не давал таких оценок, я оценивал в основном ваши навыки. Так что вы сударь пудрите мозги общественности wink.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
chee
Цитата (twin @ 17.02.2015 - 22:46)
Симфони это используют для записи массива в файл конфиги в строковом виде, это объяснимо. В ту же сессию все пишется иначе.

Симфони эксперт 100500 уровня, сразу чувствуется опыт. :lol:

http://symfony.com/doc/current/components/...html#attributes
Цитата

With structured namespacing, the key can be translated to the array structure like this using a namespace character (defaults to /):

$session->set('tokens/c', $value);


Разделитель другой, но суть таже.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.