«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2018/06/07 04:56:58  №1204435 1
Платина. Призываю к совету анонов, желательно с картофляндии. Окончил вышку(программист) и работаю на принудительной галере(недопрограммист на некроязыке) - осталось чуть больше года отсидеть. Понимание программирования немного есть, но навыки отсюда вряд ли пригодятся, может только sql немного. В универе пытался вкатиться, процентов 40 кантора освоил и немного пхп с вёрсткой поковырял. Свободного времени тут относительно много, поэтому планирую выучить за это время что-нибудь адекватное. Читаю уже много времени и ваши треды, и треды фронтендеров и не могу разобраться, куда двигаться, чтобы через полтора года не обосраться, одно только понял, что кроме веба за полтора года ничего не успею освоить на уровне джуна, смотрю ещё на питона немного, дайте совет. Пишу сюда, потому что в фронттреде мало адекватов и вопросов по делу, у вас хорошая атмосфера и вроде как все делом занимаетесь.
Ответы: >>1204454 >>1204483
Аноним 2018/06/07 05:57:52  №1204454 2
>>1204435
я кидаю тебе за щеку рефералку на хекслет.
Ты её оплачиваешь и начинаешь учиться
???????
PROFIT
Ответы: >>1204455
Аноним 2018/06/07 06:02:48  №1204455 3
>>1204454
Я могу в самообучение, мне нужны мнения знающих анонов желательно из рб по поводу того, куда лучше в моей ситуации развиваться
Аноним 2018/06/07 07:23:30  №1204483 4
>>1204435
>Окончил вышку(программист)
>и работаю на принудительной галере
>Понимание программирования немного есть
>кроме веба за полтора года ничего не успею освоить на уровне джуна
Ты дно, пили сюда свои проекты.
Ответы: >>1204502
Аноним 2018/06/07 07:42:55  №1204502 5
Ответы: >>1204538
Аноним 2018/06/07 09:01:03  №1204538 6
>>1204502
Плохова ответ!

>>1204489
Первым аргументом идет то что должно выдаться.
array_keys выдает массив.
array_search только первый ключ.
strpos позицию в строке.(Потому первая строка, а не искомый ключ)
>Нелогично?

Я сам нью, только позавчера начал основы читать.
Ответы: >>1204550 >>1204551
Аноним 2018/06/07 09:18:34  №1204550 7
>>1204538
О каких вообще проектах ты меня спрашивал?
Ответы: >>1204584
Аноним 2018/06/07 09:18:59  №1204551 8
>>1204538
Ну давай разберем по частям, тобою написанное ))

>Первым аргументом идет то что должно выдаться.
Смотрим:
array_search Осуществляет поиск данного значения в массиве и возвращает ключ первого найденного элемента в случае удачи (c php.net)
То есть што делает эта функция? Ищет в массиве искомое значение и возвращает первую позицию его. Да?

Теперь дальше:
strpos Возвращает позицию первого вхождения подстроки

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

Я так и не понял, что ты имел ввиду под
>Первым аргументом идет то что должно выдаться.

И в первой, и во второй функции возвращается int, который характеризует позицию первого найденного значения.

>Первым аргументом идет то что должно выдаться
>array_search только первый ключ
Мы ожидаем от функции индекс первого найденного элемента, поэтому первым аргументом передаём элемент, а вторым массив? Звучит логично.

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

>Первым аргументом идет то что должно выдаться
>strpos позицию в строке
Мы ожидаем от функции индекс первой найденной последовательности, поэтому первым аргументом передаем массив, в котором осуществляется поиск, а вторым уже искомый набор элементом.

>Нелогично?
Ответы: >>1204614
Аноним 2018/06/07 09:47:02  №1204584 9
>>1204550
О любых твоих.
Портфолио есть чем наполнить?
Если нет, то пили, попутно что-нибудь поймешь для себя.

>дайте совет
По поводу? Сформулируй вопрос!
Напиши имеющиеся знания.
Ответы: >>1204620
Аноним 2018/06/07 10:20:02  №1204614 10
>>1204551
>Мы ожидаем от функции индекс первой найденной последовательности, поэтому первым аргументом передаем массив, в котором осуществляется поиск, а вторым уже искомый набор элементом.
Не массив а строку!
Получаем позицию в строке. Но не подстроку, которую ищем.



array_search пользуемся для работы с искомым значением.
(И конечно же для работы с массивом т.к. значение вложенное в него, но прежде всего со значением)
strpos пользуемся для работы со строкой в которой находится последовательность.
(Прост работаем относительно последовательности)

>Нелогично?
Ответы: >>1204672
Аноним 2018/06/07 10:27:32  №1204620 11
>>1204584
В универе батрачил на работе, не связанной с ит. Поэтому сейчас отрабатываю на этой галере 2 года, только сюда без особых знаний взяли . Нету никаких проектов, то что на работе делаю - это пару тысяч строк каких - то костылей на языке, который лет 15 не используют для бухгалтеров и кладовщиков.Знания вроде и есть, а по сути нет. Знаю простые вещи вроде циклов, ресурсий, алгоритмов для строк и сортировок, что такое процедуры, деревья, массивы и тд и тп, по вебу конкретно ничего не знаю кроме универской вёрстки с простейшим вмешательством js, по пхп максимум апач ставил и пару лаб простейших писал, английский pre-intermediate. Хочу совета в том, что лучше учить за эти полтора года, было бы неплохо для белорусских реалий. Может вообще не в веб вкатываться. Какая-то ебанутая простыня получилась, сейчас меня как и большинство платиновых нахуй пошлют.
Ответы: >>1204650
Аноним 2018/06/07 10:51:05  №1204650 12
>>1204620
>сейчас меня как и большинство платиновых нахуй пошлют.
С такими вводными данными точно.
>языке, который лет 15 не используют для бухгалтеров и кладовщиков
Ты кроме птичьего знаешь еще какой?

>на работе делаю - это пару тысяч строк каких - то костылей
Разве это не поддержка кода?

>Знаю простые вещи вроде циклов, ресурсий, алгоритмов для строк и сортировок, что такое процедуры, деревья, массивы и тд и тп
Так это же самая основа, разве нет?
Остается только семантику изучить чтобы к ней применять.

>Хочу совета в том, что лучше учить за эти полтора года
Лучше для чего? В чем лучше?

>Может вообще не в веб вкатываться.
Твои знания именно что программистские.
А значит скорее лучше исключить верстку и фронтенд, чтобы не тратить время.
И смотреть как минимум на бекенд.

>было бы неплохо для белорусских реалий.
Устройство трактора?
Ответы: >>1204654
Аноним 2018/06/07 10:56:06  №1204654 13
>>1204650
Не поддержка, я их сам пишу. В джсе же тоже все эти основы используются, как и в пхп.
Ответы: >>1204664
Аноним 2018/06/07 11:10:26  №1204664 14
>>1204654
Ты пишешь программы или костыли для программ?
А еще сайты можно плить на питоне!

Ты определился что ты хочешь от проганья или что хочешь прогать?
Ответы: >>1204680
Аноним 2018/06/07 11:15:38  №1204672 15
>>1204614
>Не массив а строку!
Так ведь строка это и есть массив!
Строка - последовательность символов, массив - последовательность каких-то других данных.
В каком-нибудь C это вообще буквально так и есть.

И первая, и вторая функция используется для поиска значения в последовательности.
И первая, и вторая функция возвращает индекс первого найденного элемента по нашему запросу.

Будь это элемент в массиве или подстрока, какая разница? И там и там возвращается одно и то же.
Чем принципиально отличается индекс массива и позиция в строке? Это такое же число, равное отступу от начала этой последовательности.

Какая разница для чего нам нужна эта функция, если возвращаемое значение и там, и там несет в себе один смысл?

Окей, вот у нас есть строка мышь.
Мы пытаемся найти в ней "ш".

И спрашиваем, какой отступ у символа "ш" в последовательности символов мышь, относительно начала последовательности?
Получаем ответ - 2.

Теперь у нас есть массив ["м", "ы", "ш", "ь"].
Мы пытаемся найти в нём "ш".

И спрашиваем, какой отступ у элемента типа "строка" "ш" в последовательности элементов типа "строка" "м", "ы", "ш", "ь", относительно начала последовательности?
Получаем ответ - 2.

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

Мы ищем что-то в чём-то. Ищем что-то в какой-то последовательности. Ищем позицию элемента какого-то типа в последовательности, состоящей из элементов данного типа.
Ну а потом, для чего нам может понадобиться узнать позицию последовательности в строке? Ну, например, для того, чтобы убедиться, что она там вообще есть, ну провести какие-то манипуляции с последовательностью.
Но и с массивом то же самое! Мы можем использовать функцию array_search как для того, чтобы убедиться, что массив есть, ну или чтобы провести какие-то манипуляции с этим элементом, т.е. по сути тоже с последовательностью, только состоящей из одного элемента (да и к тому же ничто не мешает использовать функцию для поиска некоего диапазона, чтобы потом работать с ним).

Может быть, я слишком глупый, но я этого не понимаю.
Ответы: >>1204682 >>1204740 >>1204758
Аноним 2018/06/07 11:22:41  №1204680 16
>>1204664
Программы, но они костыльные, так как смысла не вижу углубляться в то, что не буду использовать после этой работы(fox). От программирования хочу работы, а не хобби, поэтому спрашиваю совета у знающих анонов, во что сейчас лучше вложить силы и эти полтора года.
Ответы: >>1204685 >>1204686
Аноним 2018/06/07 11:25:44  №1204682 17
>>1204672
В итоге ты ищешь значение не само в себе, а для работы с чем-то.

Ты ищешь ключ значения в массиве для работы со значением.
Ты ищешь позицию в строке для работы со строкой.
Ответы: >>1204690
Аноним 2018/06/07 11:28:27  №1204685 18
>>1204680
>хочу работы
у тебя уже есть работа или тебя гонят с нее за говнокод?
Ты так и не написал на чем программируешь.
Ответы: >>1204696
Аноним 2018/06/07 11:31:56  №1204686 19
>>1204680
>во что сейчас лучше вложить силы и эти полтора года.
В курсы сантехника!
Ответы: >>1204689
Аноним 2018/06/07 11:33:42  №1204689 20
Ответы: >>1204695
Аноним 2018/06/07 11:34:55  №1204690 21
>>1204682
>Ты ищешь ключ значения в массиве для работы со значением.

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

unset($misch[array_search("ш", $misch)]);
substr_replace($misch, "", strpos($misch, "ш"), 1);

Конечно, это костыль, т.к. можно было использовать str_replace. Но я уверен, что внутри она так и работает.

И в первом и втором случае меня волнует только позиция значения для того, чтобы удалить её их последовательности. Ничего больше меня не волнует.
Ответы: >>1204692 >>1204706
Аноним 2018/06/07 11:36:13  №1204692 22
>>1204690
Ну, вместо unset лучше использовать array_splice, но суть это не меняет.
Аноним 2018/06/07 11:39:40  №1204695 23
>>1204689
Чем лучше?
Сварщик более вредная профессия.
Аноним 2018/06/07 11:40:02  №1204696 24
>>1204685
Написал же, на фоксе. Я тут отсиживаю отработку после универа обязательную 2 года, никто не гонит.
Ответы: >>1204704
Аноним 2018/06/07 11:50:37  №1204704 25
>>1204696
FoxPro?
Работаешь с СУБД?
Чего не перекатишься в SQL?
Ответы: >>1204718
Аноним 2018/06/07 11:52:22  №1204706 26
>>1204690
>Я ищу номер значения, чтобы удалить его из последовательности, например.
В примере ты ищешь позицию, чтобы внести правки в строку.
Ответы: >>1204707
Аноним 2018/06/07 11:53:06  №1204707 27
Ответы: >>1204712
Аноним 2018/06/07 11:56:03  №1204712 28
>>1204707
У тебя строка и является массивом.
Ответы: >>1204715
Аноним 2018/06/07 11:59:21  №1204715 29
>>1204712
Так строка это и есть массив. Что массив, что строка, в обоих случаях мы находим позицию, чтобы удалить элемент из последовательности.
Разницы нет. Нелогичность функций есть.
Не стоит наделять смыслом то, что смысла не имеет. Например, функции принимают аргументы в разном порядке из-за того, что потом со сторокой...
Функцию не должны волновать то, что кто-то будет делать с тем значением, которое она возвращает. Её задача принять параметр, обработать его и вернуть результат. Всё.
Ответы: >>1204726 >>1204740
Аноним 2018/06/07 12:02:22  №1204718 30
>>1204704
Да, на фокспро. Тут полный пиздец с советских времен, баз нет, просто тысячи таблиц несвязанных, ебись как хочешь, как пришёл-дали книгу, которая старше меня и такой же компухтер, и я начал костылить на отьебись, так что мои знания отсюда никому не нужны.
Ответы: >>1204730 >>1204755
Аноним 2018/06/07 12:16:20  №1204726 31
>>1204715
>мы находим позицию, чтобы удалить элемент из последовательности.
Не обязательно.

Индекс в множестве строк для работы с найденной строкой.
!==
Позиция в строке для работы с этой же строкой.

>Функцию не должны волновать
Функция сама должна волновать своим порядком аргументов.
>функции принимают аргументы в разном порядке из-за
внедренной логики программирования

>Разницы нет.
>Нелогичность функций есть.
>Не стоит наделять смыслом то, что смысла не имеет.
>Всё.
Ответы: >>1204736 >>1204740
Аноним 2018/06/07 12:18:06  №1204730 32
>>1204718
Знание семантики рили не нужно, но работа с СУБД разве она будет сильно отличаться?
Ответы: >>1204741
Аноним 2018/06/07 12:23:29  №1204736 33
>>1204726
>Не обязательно.
Вот и именно, спасибо, что ты наконец-то это признал. Мы ищем отступ для чего угодно, задача функции вернуть нам этот отступ и всё.

>Индекс в множестве строк для работы с найденной строкой.
>!==
>Позиция в строке для работы с этой же строкой.
Но в то же самое время, индекс в массиве любых данных, необходимый для работы с этим же массивом (например, для удаления последовательности элементов.
===
Позиция в строке для работы с этой же строкой (например, для удаления последовательности).

Концептуально, конечно же, понятное дело, что типы разные.
Ответы: >>1204740 >>1204742
Аноним 2018/06/07 12:31:05  №1204740 34
>>1204736
>>1204726
>>1204715

Хватит засорять тред бессмысленным флудом. Недостатки PHP (и других языков) давно уже собраны и изучены, если хотите их обсудить, перемещайтесь сюда: https://habr.com/post/315152/

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

Также, в PHP строки это массивы байт, а не массивы символов. Например, $a = "абв"; echo $a[0]; в кодировках utf-8 или utf-16 НЕ выведет букву "a", так как строка в PHP это НЕ массив символов.

Соответственно объяснения в посте >>1204672 ошибочные и не учитывают этого.

Функции работы с массивами в PHP не будут работать со строками. Например, ты не можешь применить функцию array_sum или in_array к строке. И наоборот, функции работы со строками не работают с массивами.

Функция strpos называется так, потому, что это функция из старой сишной библиотеки работы с однобайтовыми строками и там принят такой стиль наименования. Сейчас в коде надо использовать mb_strpos, а не strpos.
Ответы: >>1204758
Аноним 2018/06/07 12:31:20  №1204741 35
>>1204730
Я делаю простейшие вещи из sql, создать курсор, проиндексировать, найти что-то, присоединить, сортировать, изменить,удалить, большая часть ебли с самим воксом
Аноним 2018/06/07 12:33:00  №1204742 36
>>1204736
>Мы ищем отступ
Нет.

Положение элемента
!==
Положение относительно элемента

Ответы: >>1204758
Аноним 2018/06/07 12:42:38  №1204755 37
>>1204718

Нельзя перенести код на нормальную реляционную СУБД с внешними ключами, комментариями и сделать веб приложение?
Ответы: >>1204768
Аноним 2018/06/07 12:47:34  №1204758 38
>>1204742
>Положение элемента
Относительно чего? Не в воздухе же он болтается. Массив - это набор данных, расположенных последовательно в памяти. Следовательно, индекс элемента - это его смещение относительно начала.
Ровно как и в строке, позиция подстроки - это смещение относительно начала.

>>1204740
>Соответственно объяснения в посте >>1204672 ошибочные и не учитывают этого.
Окей, я ошибся с тем, что назвал массив байтов массивом символов. Ну и что с того? Строка перестала быть массивом? Нет, не перестала.
Я там говорил о том, что при помощи этих функций, что в массиве байтов, что в массиве символов, мы находим позицию вхождения последовательности или элемента.
Стало ли хоть одно моё утверждение ложным? Нет, не стало.

>Хватит засорять тред бессмысленным флудом
Я не флудить хочу, а разобраться.
Ответы: >>1204779 >>1204912
Аноним 2018/06/07 12:53:04  №1204768 39
>>1204755
Это завод. Тут слишком все запущено, компы эры доса, таблицы никогда не узнаешь где ещё используются, тысячи таблиц с кучей полей и записей, никто не знает где какое поле что значит, даже программы, написанные на вижуал фокс а не на фокспро досовском уже лагают, все со всем связано и от каждого пука ломается, сеть и интернет слабые или почти отсутствуют. Я сам не шарю в этом всем, но то, что я тут вижу- маразм полный, из этого говна уже не вылезти
Ответы: >>1204772
Аноним 2018/06/07 12:54:55  №1204772 40
>>1204768
Вообще я единственный кто на вижуал фокс с формами пишет тут, все ветераны программирования до сих пор на матричных принтерах и досе сидят
Ответы: >>1204776
Аноним 2018/06/07 12:57:42  №1204776 41
>>1204772
Могу много рофлоф потом рассказать отсюда, но смена кончается и мне надо идти
Аноним 2018/06/07 12:59:54  №1204779 42
>>1204758
>Следовательно, индекс элемента - это его смещение относительно начала
Короче, походу тут я ошибся. В PHP массив - это не совсем то, чем он является на самом деле. Это по своей сути хеш-таблица, поэтому индексы могут быть любыми.

То есть, не составит труда написать array([231] => "м", [717] => "ы", ...);
Тогда в этом случае, индексы уже ничего не означают.
Ответы: >>1204782 >>1204786 >>1204801
Аноним 2018/06/07 13:00:24  №1204782 43
>>1204779
Ой, ну т.е. без квадратных скобочек, естественно.
Аноним 2018/06/07 13:03:16  №1204786 44
>>1204779
Весь этот пердолинг на старых компах и неэффектинвых системах должен кучу времени отнимать у рабочих, нет денег на новое перейти - что производит завод?
Ответы: >>1204792 >>1204793
Аноним 2018/06/07 13:09:07  №1204792 45
Аноним 2018/06/07 13:11:01  №1204793 46
>>1204786
Ну там ограничение на числа и строки в качестве ключей.
Аноним 2018/06/07 13:20:01  №1204801 47
>>1204779
Выходит, когда мы используем функцию array_search, мы действительно ищем индекс отдельного элемента. Поскольку он не указывает на смещение относительно начала, единственное, для чего он нам может понадобиться, это для того, чтобы отыскать элемент.

Например, у нас есть словарь, состоящий из 500000 слов и мы хотим найти в нём слово "мышь". Тогда функция вернёт нам индекс элемента.
Правда, не очень понятно, зачем это нужно и как это может пригодиться. Опять же, учитывая, что индекс - это не смещение относительно начала. Ибо будь это не так, я бы нашёл оправдание, т.к. сам столкнулся с ситуацией, когда это нужно (даже, например, для того, чтобы удалить последовательность из массива. Если предположить, что в массиве слова упорядоченны в алфавитном порядке и индексы указывают на смещение, тогда найдя индекс первого слова, которое начинается на букву б и первого слова, начинающегося на букву в, мы можем вырезать все слова, которые начинаются на букву б).
Но мы предполагаем, что индексы в массиве хаотичные. Тогда задача теряет какой-либо смысл.

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

Выходит, я не прав? Ну ладно, entschuldigung.
Ответы: >>1204814
Аноним 2018/06/07 13:32:30  №1204814 48
>>1204801
Но строки же тоже могут быть ключами.

А еще элемент с индексом 3 может идти после елемента с индексом 5.

Покопайся в массивных функциях, с помощью какой то можно быстро изменить массив чтобы у него были индексы по порядку с нуля.
Аноним 2018/06/07 16:07:46  №1204912 49
>>1204758

Нет, ты именно флудишь. Какой смысл тут разводить бессмысленный спор на 40 постов? Тут нет разработчиков PHP, плюс ты тут утверждаешь что массив и строка это одно и то же, при том даже не удосужился заглянуть в исходный код PHP, где явно видно, что это разные типы.

Функции так названы изначально, так как strpos это функция сишной библиотеки с таким именем, а in_array и array_search - написанные специально для PHP функции, причем подозреваю, в разное время. Потому у них разный стиль именования.

Какой смысл обсуждать, правильный в них порядок аргументов или нет? Он от этого не поменяется.

Почему бы тебе не обратиться с такими вопросами в список рассылки, где общаются разработчики PHP? Или хотя бы не устраивать тут чат, а написать все аргументы одним постом и успокоиться?
Ответы: >>1204957
Аноним 2018/06/07 16:43:54  №1204957 50
>>1204912
Я не утверждал, что строка и массив в php это одно и то же. Я писал, что строка это массив. И всё. Я даже сделал акцент на этом моменте в одном из своих постов.

>Нет, ты именно флудишь. Какой смысл тут разводить бессмысленный спор на 40 постов?
В споре рождается истина, если только спор не о чём-то, что бессмысленно само по себе. Ничего плохого в этом не вижу, т.к. тред называется "клуб изучающих php". Подобное название предполагает наличие обсуждений.

>Какой смысл обсуждать, правильный в них порядок аргументов или нет? Он от этого не поменяется.
Я хотел узнать почему он такой, чем обусловлен. И почему, если авторы функций знали, что они делают, они не стандартизировали именование функций и их аргументы.
Я не рассчитывал на развёрнутый ответ с печатью "истина", я лишь ждал, что какой-то мимокрокодил, если слышал об этом, кинет в меня парочкой словечек.
Ответы: >>1205004 >>1205086
Аноним 2018/06/07 17:30:30  №1205004 51
>>1204957
Съеби уже отсюда, чмоха.
Аноним 2018/06/07 19:49:46  №1205086 52
>>1204957

Я уже писал выше, причины исторические. strpos названа по аналогии с strstr и strchr, которые являются функциями из сишной библиотеки, в таком виде она уже лет 40 существует: https://ru.wikipedia.org/wiki/String.h

Правда, в PHP в итоге их переписали и они сейчас используют какую-то внутреннюю библиотеку работы со строками: https://github.com/php/php-src/blob/5eb1f92f31cafc48384f9096012f421b37f6d425/ext/standard/string.c#L1955

Функции in_array и array_search - из набора функций array в PHP. Они тоже существуют очень давно и почему там такой порядок, я не знаю.

Понятно, что никто ни сейчас, ни потом не станет ломать совместимость и менять порядок аргументов, даже если это было бы более логично. Более логично было бы вообще полностью переделать эти функции, там много других проблем, но делать это не будут.

Проблема эта не уникальна для PHP, в каждом популярном языке есть такие же странности. Но наверно не стоит тут полтреда это обсуждать, повторяя по кругу одни и те же аргументы. Тут все равно ведь разработчики PHP не сидят.

> Я писал, что строка это массив.

Строку можно представлять как "массив" символов, но полноценным массивом она от этого не станет. Моя цель была лишь объяснить, что в PHP строка и массив это разные типы и один нельзя использовать вместо другого. Чтобы кто-нибудь потом не удивлялся, почему функции для массивов не работают со строкой.

> И почему, если авторы функций знали, что они делают, они не стандартизировали именование функций и их аргументы

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

И о какой стандартизации ты говоришь? На начальном этапе развития PHP его писали несколько человек и если бы они занимались стандартизацией, он бы вообще свет не увидел. А сейчас процесс стандартизации есть - он называется PSR, можешь погуглить и почитать. Но естественно, стандартизовывать то, что уже сделано, поздно.