Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Си столько лет, что ему не стыдно. Он используется в жёстких условиях, где другие языки не выживают, поэтому там это нормально.
Если бы в Си добавили эту возможность, то и он бы там не выжил.
Пришлось бы на ассемблере писать...
Вы путаете божий дар с яичницой.
Ручное выделение памяти -- фишка си, с помощью которой можно решать сложные задачи. Иногда память НАДО выделять вручную. Представьте себе модуль ядра (драйвер например) , пологающийся на GC, и сразу станет все понятно.
Ручное управление сессиями -- не нужно никому и никогда. От него только ненужный бойлерплейт и тупые ошибки новичков (которым непонятно куда воткнуть сешн старт). Потому в нормальных платформах сессиями управляет контейнер (или сервер)
ручное управление сессией фишка php. ИМХО удобно нужна сессия включил не нужна выключил. Все просто и элегантно. Можно различные наймспейсы для сессий задавать это тоже в ручную. очень удобно.
неет не так. Изучите синтаксис языка к которому у вас столь пренебрежительное отношение но это лирика. По существу.
Имена сессий удобно задавать если например проект пишет пара прогеров один пишет модуль А другой модуль B так переменные в сессии находятся в глобальной зоне видимости может случится так что оба прогера запишут в сессию переменную с одним именем и может так случится ,что искать причину глюков они будут ох как долго. Поэтому заводится для каждого модуля имя сессии и все довольны и счастливы. Обмен между данными модулями происходит только чрез определенный интерфейс. И все ни какого говна.
2) ага)))) потому надо иметь 10 сессий и десять кук.
эта задача решается через неймспейсы. Есть такое понятие, лет 30 назад изобрели. Вроде бы в последних версиях PHP оно тоже появлется. С учетом того, что новинки доходят до мира ПХП в течение 30 лет, то можно думать что к 2030му году управление сессиями в пхп так же станет автоматическим, как в джаве или дотнете например
1. session_start не принимает параметров
session_name устанавливает получае имя сессии
и кстати в пыхе можно автоматом включать сессии.
надо только php.ini поправить по умолчнию авто сессии отключены.
ну нету в похапе нейм спейсов были вот но разрабы сказали что отменят их. ИМХО сессия это то глобальная зона неймспейсы там не действуют но может я и ошибаюсь.
1) да) session_id надо вызывать.
глобальные функции в действии. причем не ресурс передают (как в нормальном процедурном стиле) а просто глобально изменяют ID. Прекрасный пример того, что API PHP -- говно даже по меркам 1976го года.
в Вашем примере с двумя разработчиками -- каждый должен вызвать session_id -- это будет ад) особенно, если вдруг случайнов пхп введут многопоточность
2) неймспейсы можно иметь у имен переменных в сессии
программист не должен вручную управлять сессиями
это бессмыслено
это все равно, как явно передавать два перевода строки после заголовков перед телом (см спецификацию http). Так делали в perl/cgi в 97м году
в 21м веке
Если бы в Си добавили эту возможность, то и он бы там не выжил.
Пришлось бы на ассемблере писать...
Ручное выделение памяти -- фишка си, с помощью которой можно решать сложные задачи. Иногда память НАДО выделять вручную. Представьте себе модуль ядра (драйвер например) , пологающийся на GC, и сразу станет все понятно.
Ручное управление сессиями -- не нужно никому и никогда. От него только ненужный бойлерплейт и тупые ошибки новичков (которым непонятно куда воткнуть сешн старт). Потому в нормальных платформах сессиями управляет контейнер (или сервер)
когда это удобно)
каждый раз писать session_start($_COOKIE['sess']); ?
Вам платят за строчки кода?
Имена сессий удобно задавать если например проект пишет пара прогеров один пишет модуль А другой модуль B так переменные в сессии находятся в глобальной зоне видимости может случится так что оба прогера запишут в сессию переменную с одним именем и может так случится ,что искать причину глюков они будут ох как долго. Поэтому заводится для каждого модуля имя сессии и все довольны и счастливы. Обмен между данными модулями происходит только чрез определенный интерфейс. И все ни какого говна.
2) ага)))) потому надо иметь 10 сессий и десять кук.
эта задача решается через неймспейсы. Есть такое понятие, лет 30 назад изобрели. Вроде бы в последних версиях PHP оно тоже появлется. С учетом того, что новинки доходят до мира ПХП в течение 30 лет, то можно думать что к 2030му году управление сессиями в пхп так же станет автоматическим, как в джаве или дотнете например
session_name устанавливает получае имя сессии
и кстати в пыхе можно автоматом включать сессии.
надо только php.ini поправить по умолчнию авто сессии отключены.
ну нету в похапе нейм спейсов были вот но разрабы сказали что отменят их. ИМХО сессия это то глобальная зона неймспейсы там не действуют но может я и ошибаюсь.
глобальные функции в действии. причем не ресурс передают (как в нормальном процедурном стиле) а просто глобально изменяют ID. Прекрасный пример того, что API PHP -- говно даже по меркам 1976го года.
в Вашем примере с двумя разработчиками -- каждый должен вызвать session_id -- это будет ад) особенно, если вдруг случайнов пхп введут многопоточность
2) неймспейсы можно иметь у имен переменных в сессии
когда ты уже вырастешь???
это бессмыслено
это все равно, как явно передавать два перевода строки после заголовков перед телом (см спецификацию http). Так делали в perl/cgi в 97м году
надеюсь, MIME тоже руками реализовано?
а smtp?
html, картинка и текст (для тех, кто html не понима) ?