Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Какие зарплаты сейчас у (Senior) PHP-Entwickler?

1915  1 2 3 4 5 все
SteveJobs постоялец16.07.22 12:30
16.07.22 12:30 

Есть вакансия для (Senior) PHP-Entwickler, пишут что вроде как можно из Homeoffice работать, и просят сразу написать свои представления о зарплате...

Какие сейчас зарплаты на рынке, сколько реалистично стоит просить? Контора в Мюнхене, если это имеет значение.

Спасибо всем ответившим.

#1 
Срыв покровов патриот16.07.22 12:48
NEW 16.07.22 12:48 
в ответ SteveJobs 16.07.22 12:30

я сейчас напишу, что нужно 80 просить, а ты ответишь, что у тебя уже 90.
Надо отталкиваться от того, что уже имеешь.

#2 
SteveJobs постоялец16.07.22 12:50
NEW 16.07.22 12:50 
в ответ Срыв покровов 16.07.22 12:48

Спасибо за Ваш ответ. 90 у меня к сожалению нет. Ну давайте обозначим хоть сколько сейчас минимум, и сколько в среднем. Ещё раз спасибо!

#3 
Murr патриот16.07.22 13:03
Murr
NEW 16.07.22 13:03 
в ответ SteveJobs 16.07.22 12:50

сколько сейчас минимум

-----

По ПХП? Я так думаю что с доплатой....


и сколько в среднем

-----

Тоже с доплатой, но поменьше... особенно если государство за стажера доплачивает...

#4 
AlexNek патриот16.07.22 13:07
AlexNek
NEW 16.07.22 13:07 
в ответ SteveJobs 16.07.22 12:30

Например, средняя температура по больнице.

https://de.indeed.com/career/php-softwareentwickler/salari...


Мюнхен - очень имеет значение, там всё выше и зарплаты и расходы.

#5 
alex445 коренной житель16.07.22 14:02
NEW 16.07.22 14:02 
в ответ AlexNek 16.07.22 13:07

Мюнхен - какой-то лоховской дорф. То ли дело махина-Нюрнберг!


#6 
alex445 коренной житель16.07.22 14:03
NEW 16.07.22 14:03 
в ответ alex445 16.07.22 14:02, Последний раз изменено 16.07.22 14:04 (alex445)

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

#7 
AlexNek патриот16.07.22 14:23
AlexNek
NEW 16.07.22 14:23 
в ответ alex445 16.07.22 14:02
То ли дело махина-Нюрнберг!

Сайт какой то левый и белых сосисок тама нет, как и нормально пива бебе

https://www.tecchannel.de/a/it-gehaelter-in-muenchen-am-ho...

https://www.sueddeutsche.de/karriere/gehalt-staedte-check-...

https://www.stellenanzeigen.de/gehalt-vergleich/softwareen...

#8 
Срыв покровов патриот16.07.22 16:09
NEW 16.07.22 16:09 
в ответ SteveJobs 16.07.22 12:50
Ну давайте обозначим хоть сколько сейчас минимум, и сколько в среднем. Ещё раз спасибо!

Зависит от фирмы.

#9 
uscheswoi_82 коренной житель16.07.22 18:53
NEW 16.07.22 18:53 
в ответ SteveJobs 16.07.22 12:30

https://www.gehalt.de/beruf/php-programmierer-php-programmiererin

от 4392€ до 5499€ в месяц

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#10 
alex445 коренной житель16.07.22 19:18
NEW 16.07.22 19:18 
в ответ uscheswoi_82 16.07.22 18:53

Там по ссылке есть "бекэнд девелопер PHP". Ну пипец обленились. У них и так ничего кроме ихнего пыхпыха знать не надо, а тут ещё и жмутся - я мол только бекэнд.

#11 
Simple Nothing is f*cked19.07.22 13:46
Simple
NEW 19.07.22 13:46 
в ответ alex445 16.07.22 19:18

У многих, такое ощущение, до сих пор представление о "пыхпыхе" 20-летней давности.

#12 
alex445 коренной житель19.07.22 14:28
19.07.22 14:28 
в ответ Simple 19.07.22 13:46, Последний раз изменено 19.07.22 14:29 (alex445)

А что с ним с тех пор стряслось? Сильно похорошел?

#13 
Simple Nothing is f*cked19.07.22 15:18
Simple
NEW 19.07.22 15:18 
в ответ alex445 19.07.22 14:28

Конечно. Плюс к тому есть полномасштабные фреймворки типа Symfony, которые позволяют делать все, что нужно для ынтырпрайза.

#14 
alex445 коренной житель19.07.22 17:41
NEW 19.07.22 17:41 
в ответ Simple 19.07.22 15:18

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

#15 
Simple Nothing is f*cked19.07.22 18:24
Simple
19.07.22 18:24 
в ответ alex445 19.07.22 17:41

Вообще-то это можно сказать о любом ЯП. Везде есть косяки и везде создатели заботятся об обратной совместимости. Но я, собственно, не собирался дискутировать о плюсах и минусах каких-то языков с фундаменталистами.

#16 
Simple Nothing is f*cked19.07.22 18:26
Simple
NEW 19.07.22 18:26 
в ответ SteveJobs 16.07.22 12:30

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

#17 
alex445 коренной житель19.07.22 18:30
NEW 19.07.22 18:30 
в ответ Simple 19.07.22 18:24, Последний раз изменено 19.07.22 18:31 (alex445)

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

#18 
alex445 коренной житель19.07.22 18:36
NEW 19.07.22 18:36 
в ответ Simple 19.07.22 18:26

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

#19 
Simple Nothing is f*cked19.07.22 18:47
Simple
NEW 19.07.22 18:47 
в ответ alex445 19.07.22 18:30

Это в прошлом.

#20 
Бесконечный цикл завсегдатай23.07.22 22:30
NEW 23.07.22 22:30 
в ответ Simple 19.07.22 18:47

#21 
Simple Nothing is f*cked24.07.22 08:18
Simple
NEW 24.07.22 08:18 
в ответ Бесконечный цикл 23.07.22 22:30

👍😁

#22 
alex445 коренной житель24.07.22 11:19
NEW 24.07.22 11:19 
в ответ Simple 24.07.22 08:18

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

#23 
Simple Nothing is f*cked24.07.22 16:32
Simple
NEW 24.07.22 16:32 
в ответ alex445 24.07.22 11:19

Куча энтерпрайзных пхп-проектов с миллионами loc говорят, что вы ошибаетесь.

Напоминает нашего бывшего PO, который тоже ненавидел пхп и пытался пересадить нас на дотнет. Слава богу, удалось его затормозить.

#24 
AlexNek патриот24.07.22 20:59
AlexNek
NEW 24.07.22 20:59 
в ответ Simple 24.07.22 16:32

А можете вкратце рассказать, что может актуальный ПХП? Я тоже лет 20 назад с ним игрался.

Чем он лучше НЕТа?

#25 
MrSanders коренной житель24.07.22 21:30
NEW 24.07.22 21:30 
в ответ Simple 24.07.22 16:32
Куча энтерпрайзных пхп-проектов с миллионами loc говорят, что вы ошибаетесь.

Угу. Плавали, знаем. Переводили один такой "проект" исторически выросший на... блин... забыл как эту CMS звали. не Typo3...

В общем на яву переводили. Измеримый эффект: на том же железе производительность выросла примерно на порядок. А какое счастье было это всё переводить... Энтепрайз, да. Но вот шутка про самокат, она прям в точку :)

P.S. Справедливости ради, в текущем проекте народ на страховке на яве пишет так, что хочется оторвать ручки и запретить подходить к технике сложнее счёт...

#26 
alex445 коренной житель24.07.22 21:38
NEW 24.07.22 21:38 
в ответ MrSanders 24.07.22 21:30
Справедливости ради, в текущем проекте народ на страховке на яве пишет так, что хочется оторвать ручки и запретить подходить к технике сложнее счёт...

А вы бы им сказали, как вам надо.

#27 
MrSanders коренной житель24.07.22 21:48
NEW 24.07.22 21:48 
в ответ alex445 24.07.22 21:38

Нельзя, они обижаются и жалуются начальству. А начальство просит не давить, а то один после беседы со мной "заболел" на две недели. При том что я с ними предельно корректен. Сильнее "а почему ты тут сделал так?" не давлю. Страховка, они там так привыкли. 2-3 молодых разработчика есть, которым ещё можно что-то объяснять, остальные... Жуткое коболисткое болото.

#28 
Murr патриот24.07.22 22:27
Murr
NEW 24.07.22 22:27 
в ответ AlexNek 24.07.22 20:59

что может актуальный ПХП?

------

Вроде с 6-й версии дали обычный ОО-язык и можно применять стандартные ООП методики.

Только кто же будет тратить время на обучение ПХПистов этим премудростям.

Ну а без ООП - там обычное спагетти...

#29 
Murr патриот24.07.22 22:32
Murr
NEW 24.07.22 22:32 
в ответ MrSanders 24.07.22 21:48

Сильнее "а почему ты тут сделал так?" не давлю.

----

А написать "правильно" и спросить "почему тут плохо?"

Но править коболиста - да, практически бесполезно.

#30 
Simple Nothing is f*cked24.07.22 22:45
Simple
NEW 24.07.22 22:45 
в ответ AlexNek 24.07.22 20:59, Последний раз изменено 24.07.22 22:52 (Simple)

Вкратце не получится.

Чем он лучше НЕТа?

Не знаю, с дотнетом толком не знаком. Суть не в том, что пхп-дотнет лучше/хуже, а в том, что смысла в этом было ноль, один вред.

#31 
Simple Nothing is f*cked24.07.22 22:52
Simple
NEW 24.07.22 22:52 
в ответ MrSanders 24.07.22 21:30

Ну это опять же пример из серии "на самокате ездят идиоты с кривыми руками". Мы когда перешли на php 7, тоже получили прирост производительности раз в 5.

#32 
uscheswoi_82 коренной житель24.07.22 23:07
NEW 24.07.22 23:07 
в ответ AlexNek 24.07.22 20:59
А можете вкратце рассказать, что может актуальный ПХП?

1. Появился match - см. https://www.php.net/manual/ru/control-structures.match.php

2. Безопасный null (используется знак "?") - см. https://sergeymukhin.com/blog/php-8-operator-nullsafe

3. Объявление типы данных в функциях и методах см. - https://www.php.net/manual/ru/language.types.declarations.php

4. Аннотации - https://www.php.net/manual/ru/language.attributes.overview.php

5. Goto (относительно новая) см. - https://www.php.net/manual/ru/control-structures.goto.php

6. PDO (относительно новая, что-то типа ADO) см. - https://snipp.ru/php/manual-pdo


P.S.:

1. Есть куча фреймворков для PHP - Yii Framework, Prado Framework, Kohana Framework, Laravel, Symfony, Zend Framework, итд.

2. Мне лично нравится сериализация в PHP см. пример:

<?php
class Person {
  private $firstname;
  private $lastname;
  private $birthday;

  public function __construct($firstname, $lastname, $birthday) {
    $this->firstname = $firstname;
    $this->lastname = $lastname;
    $this->birthday = $birthday;
  }

  public function set_firstname($firstname) {
    $this->firstname = $firstname;
  }

  public function set_lastname($lastname) {
    $this->lastname = $lastname;
  }

  public function set_birthday($birthday) {
    $this->birthday = $birthday;
  }

  public function get_firstname() {
    return $firstname;
  }

  public function get_lastname() {
    return $lastname;
  }

  public function get_birthday() {
    return $birthday;
  }

  public function tostring() {
    return $firstname . ' ' . $lastname . ' ' . $birthday;    
  }
}

$p = new Person('Anton', 'Mustermann', '01-01-1980');
$p2 = new Person('Anna', 'Musterfrau', '02-05-1982');
echo serialize($p);
echo '
';
echo serialize($p2);
?>


Результат (сериализованный объекто можно сохранить в БД, в файл, в сессию, и десериализовать):

O:6:"Person":3:{s:17:"Personfirstname";s:5:"Anton";s:16:"Personlastname";s:10:"Mustermann";s:16:"Personbirthday";s:10:"01-01-1980";}
O:6:"Person":3:{s:17:"Personfirstname";s:4:"Anna";s:16:"Personlastname";s:10:"Musterfrau";s:16:"Personbirthday";s:10:"02-05-1982";}


3. Простое логгирование в PHP см. пример:

<?php
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');
ob_start();
$bv.
error_log(ob_get_clean());
?>


Результат:

[24-Jul-2022 22:48:23 Europe/Berlin] 
[24-Jul-2022 22:48:23 Europe/Berlin] PHP Notice:  Undefined variable: bv in C:\xampp\htdocs\code\err.php on line 6
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#33 
uscheswoi_82 коренной житель24.07.22 23:09
NEW 24.07.22 23:09 
в ответ AlexNek 24.07.22 20:59
Чем он лучше НЕТа?

1. Компактный, php.exe весит всего 129 кбайт.

2. Можно самому написать свой фреймворк, шабланизатор, итд.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#34 
uscheswoi_82 коренной житель24.07.22 23:23
NEW 24.07.22 23:23 
в ответ uscheswoi_82 24.07.22 23:09

Если PHP или ASP NET сравнить с конструктором лего, то PHP это кирпичики, окна и двери, а ASP NET это готовый дом.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#35 
MrSanders коренной житель25.07.22 00:47
NEW 25.07.22 00:47 
в ответ Murr 24.07.22 22:32
А написать "правильно" и спросить "почему тут плохо?"

Пф... Щаз.

1. Никакой разницы тут нет, это вкусовщина, мы привыкли делать так.

2. Шееееееф! У меня времени нет тикеты делать, а он ко мне докапывается и странного хочет!

А когда спрашиваешь "почему сделал так", так просто отбиться не получается. На любое "у меня нет времени" и жалобу - поясняю что мне надо править баг и он может быть в этом куске, но я не понимаю почему тут сделано так. Бурчат, воняют, но пояснять приходится. А в процесс пояснений можно воткнуть свою мысль. В качестве пояснения "почему мне тут было плохо понятно".


Самых ярых коболистов я не трогаю. Они дальше копи-пейста и поправить + на - не заходят...

#36 
alex445 коренной житель25.07.22 00:56
NEW 25.07.22 00:56 
в ответ Simple 24.07.22 22:45
Суть не в том, что пхп-дотнет лучше/хуже

а в том, что пишут на том, что знают, и переучиваться особо не хотят. Только мало кто себе в этом признаётся.


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

#37 
MrSanders коренной житель25.07.22 00:56
NEW 25.07.22 00:56 
в ответ Simple 24.07.22 22:52

Ну, ява в 2008 тоже не такая шустрая была. Там больше выигрыш был от очистки всего от накопившихся слоёв правок. Когда никто не понимает что он делает, но пишет своё дополнение. Одно и то же, то в файл, то в БД, то вообще хттп запрос. И чтоб быть "уверенным" а забабахаем-ка всюду! 3 раза одно и тоже в 3 места писали. Для надёжности. Ну и когда разницу между set-ом и листом не понимают, легко из O(n^2) в О(logn) переписать.

А так, после того как в пыхыпы добавили goto, я на проекты с ним не подписываюсь. Мне боязно :)

#38 
alex445 коренной житель25.07.22 00:59
NEW 25.07.22 00:59 
в ответ uscheswoi_82 24.07.22 23:07, Последний раз изменено 25.07.22 01:00 (alex445)
<?php
class Person {
  private $firstname;
  private $lastname;
  private $birthday;

  public function __construct($firstname, $lastname, $birthday) {
    $this->firstname = $firstname;
    $this->lastname = $lastname;
    $this->birthday = $birthday;
  }

  public function set_firstname($firstname) {
    $this->firstname = $firstname;
  }

Какой-то плохой Blazor получился. Пыха конечно была раньше, но в том-то и дело, что плохой язык просто обмазывали свистелками и перделками.


А как выглядит проект на пыхе из сотен классов? И как его код миксуется с разметкой?

#39 
Срыв покровов патриот25.07.22 06:43
NEW 25.07.22 06:43 
в ответ alex445 25.07.22 00:59

причём тут Blazor?

#40 
Simple Nothing is f*cked25.07.22 07:34
Simple
NEW 25.07.22 07:34 
в ответ MrSanders 25.07.22 00:56

Я ни разу не видел гото в своем проекте.

А вообще современный пхп с симфони очень приятен. Мне тут коллега с проекта рассказывал, что ему где-то в Вестфалии предлагали 100к :)

#41 
Simple Nothing is f*cked25.07.22 07:37
Simple
NEW 25.07.22 07:37 
в ответ alex445 25.07.22 00:59

У вас очень устарелые представления. Гуглите twig, например.

#42 
Simple Nothing is f*cked25.07.22 07:39
Simple
NEW 25.07.22 07:39 
в ответ MrSanders 25.07.22 00:47

Беги, беги оттуда! 😁

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

#43 
MrSanders коренной житель25.07.22 09:26
NEW 25.07.22 09:26 
в ответ Simple 25.07.22 07:39, Последний раз изменено 25.07.22 09:33 (MrSanders)
Я ни разу не видел гото в своем проекте.

не хочу даже теоретической возможности его снова увидеть, хватит мне миграции с фортрана :)

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

Да ладно? "Дас ауто" начали что-то адекватное в ИТ делать? У меня пока что информация о них такая: "набирают ИТшников, но не знают что им от них надо. Сидят, бездельничают на митингах. Молодёжь быстро сваливает"

Беги, беги оттуда! 😁

это у меня как "вызов принят" проходит. Если получится в этом болоте что-то изменить... Тогда я всё смогу! :) Ну а если за два года ничего не изменится, свалю. Деньги платят хорошие, но уж больно противно код смотреть...

#44 
Simple Nothing is f*cked25.07.22 09:32
Simple
NEW 25.07.22 09:32 
в ответ MrSanders 25.07.22 09:26

Фортран хорош для определенных задач, как и Кобол, зачем с него портировать? :-)


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

#45 
alex445 коренной житель25.07.22 10:20
NEW 25.07.22 10:20 
в ответ Срыв покровов 25.07.22 06:43, Последний раз изменено 25.07.22 10:21 (alex445)
причём тут Blazor?

Мешают код и разметку. Я вижу, что код Пыхи открывается угловыми скобками - это прямо в HTML-разметке этот код пишется? Я Пыху не знаю, вот и спрашиваю.

#46 
MrSanders коренной житель25.07.22 10:28
NEW 25.07.22 10:28 
в ответ Simple 25.07.22 09:32
Фортран хорош для определенных задач, как и Кобол, зачем с него портировать? :-)

С фортрана переписывали потому что это был единственный блок (целочисленные операции с матрицами), который использовался в бооольшой системе. И он работал на S/390, а голубые его прикрыли. Миграция на новую платформу, да.


А зачем с кобола портировать... Потому что мы говорим кобол, понимаем zOs. А оно не только умерло и воняет, голубые забили на платформу болт уже лет 15 как, только цены повышают, не только фиг найдёшь кого-то кто в ней разбирается, даже молодёжь, готовую не неё обучиться - тоже не найдёшь. В результате всё, что на коболе сейчас работает, живёт только благодаря ещё не ушедшим на пенсию 50+ летним коболистам. И когда они уйдут - всё, тушите свет, сливайте воду. Всем системам капец. К 2030 платформа (наконец-то!) умрёт окончательно (надеюсь). А кобол на других системах... Не имеет смысла. 1:1 с хоста не смигрируешь, надо переписывать. Или громоздить эмуляторы. Которые тоже хреноватенько работают. И получается что хочешь жить - переписывай.

#47 
Simple Nothing is f*cked25.07.22 10:32
Simple
NEW 25.07.22 10:32 
в ответ MrSanders 25.07.22 10:28

Я больше в шутку, причины понимаю, конечно.

#48 
Simple Nothing is f*cked25.07.22 10:33
Simple
NEW 25.07.22 10:33 
в ответ alex445 25.07.22 10:20
Я Пыху не знаю

Я так и думал. Опять "Рабинович напел" :-D

#49 
alex445 коренной житель25.07.22 10:40
NEW 25.07.22 10:40 
в ответ Simple 25.07.22 10:33, Последний раз изменено 25.07.22 10:45 (alex445)

Я сам дерьмо не пробовал, но многие другие говорят, что невкусно. А я верю! )))

Как и в то, что и из дерьма можно сделать конфетку - ну т.е. написать на Пыхе большую систему, которая будет как-то работать. Просто нужно добавить на ложку дерьма тонну патоки, шоколада и мёда (т.е. обмазаться кучей фреймворков, которые правят недостатки Пыхи) - там оно и растворится.

#50 
Simple Nothing is f*cked25.07.22 10:48
Simple
NEW 25.07.22 10:48 
в ответ alex445 25.07.22 10:40

С вами все ясно, в игнор.

#51 
uscheswoi_82 коренной житель25.07.22 20:40
NEW 25.07.22 20:40 
в ответ alex445 25.07.22 00:59
А как выглядит проект на пыхе из сотен классов?

Обычно можно сделать маленькие PHP файлы, которые можно вызвать по AJAX.

Пример поиск песен, который вызывается по AJAX:

<?php
require_once('./config/config.php');
require_once('./libs/core/mod_core.php');
require_once('./libs/core/mod_database.php');
require_once('./libs/core/mod_audio.php');
session_start();
if(!isset($_SESSION['UserID']))
  exit;
header('Content-Type: application/json');
$arr_files = array();
$arr_files = audio_find('%' . @$_POST['title'] . '%', 0, 10000);
die(json_encode($arr_files));
?>



И как его код миксуется с разметкой?


Пример MVC:


index.php:

<?php
  require_once('./controller/MainController.php'); // Подключаем контроллер MainController.php
  $mc = new MainController; // Объект mc - MainController
  // Если action не существует, или action пустой, то $str_action по умолчанию будет index
  if(!isset($_REQUEST['action']) || is_null($_REQUEST['action'])) 
    $str_action = 'index';
  else
    $str_action = $_REQUEST['action']; // Иначе считываем action
  // Обработка action
  switch($str_action) {
    case 'index':
     echo $mc->action_index(); // Если action = index, то вызываем метод из MainController action_index(), и отображаем 
    break;
  }
?>


Контроллер MainController.php:

<?php
  require_once('./model/main.php');
  function show($filename, $values = NULL) {
    ob_start();
    if(isset($values))
      extract($values);
    include($filename);
    return ob_get_clean();
  }
  class MainController {
    public function action_index() {
      $mm = new MainModel; // Объявляем MainModel
      $str_view = show('./view/home.php', array('person' => $mm->get_items())); 
      return show('./view/template.php', array('title' => 'Home', 'content' => $str_view));
    }
  }
?>


Модель MainModel.php:

<?php
class MainModel {
   private $arr_items; 
   public function __construct() {
     $this->arr_items = array('firstname' => 'Anton', 'lastname' => 'Popov', 'gender' => 'M', 'birthday' => '01.05.1980');
   }
   public function get_items() {
     return $this->arr_items;
   }
}
?>


Шаблон template.php:

<html>
<head>
  <title><?=$title; ?></title>
</head>
<body>
  <?=$content; ?>
</body>
</html>


Вьюшка home.php

<h1>Home</h1>
<?php foreach($person as $k => $v): ?>
  <div><?=$k; ?>=<?=$v; ?></div>
<?php endforeach; ?>
</table>
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#52 
Срыв покровов патриот25.07.22 21:00
NEW 25.07.22 21:00 
в ответ uscheswoi_82 25.07.22 20:40
Обычно можно сделать маленькие PHP файлы, которые можно вызвать по AJAX.
Пример поиск песен, который вызывается по AJAX:

разве эти все Require once не на сервере обрабатываются? Какой там аякс?

<?php
require_once('./config/config.php');
require_once('./libs/core/mod_core.php');
require_once('./libs/core/mod_database.php');
require_once('./libs/core/mod_audio.php');
session_start();
if(!isset($_SESSION['UserID']))
  exit;
header('Content-Type: application/json');
$arr_files = array();
$arr_files = audio_find('%' . @$_POST['title'] . '%', 0, 10000);
die(json_encode($arr_files));
?>
#53 
Simple Nothing is f*cked25.07.22 21:18
Simple
NEW 25.07.22 21:18 
в ответ uscheswoi_82 25.07.22 20:40

безум

Ради бога, зачем нужны эти велосипеды, если можно взять фреймворк?

#54 
alex445 коренной житель25.07.22 21:45
NEW 25.07.22 21:45 
в ответ Simple 25.07.22 10:48, Последний раз изменено 25.07.22 21:46 (alex445)

Что за манера - если что вдруг не по-своему - "не бери мои игрушки, не садись на мой горшок"!?

))

#55 
alex445 коренной житель25.07.22 21:51
NEW 25.07.22 21:51 
в ответ uscheswoi_82 25.07.22 20:40, Последний раз изменено 25.07.22 21:56 (alex445)
<?=$title; ?>

Не, зря я с Blazor-Razor сравнил - это скорее древнючий ASP.NET без MVC:

<%#...%>


Но и то в последние версии ASP.NET добавили Razor-синтаксис, где всё через один символ @ вставляется.


Блин, да там ещё хуже - мало такого синтаксиса <?=...?>, так ещё и $ добавлен. В результате - куча закорючек, за которыми кода не видно. Я бы уже за одно это выкинул эту Пыху в помойку. Тут вам не там - в смысле, что не 20 лет назад, когда народ позволял над собой измываться крючкотворством.

#56 
AlexNek патриот25.07.22 21:57
AlexNek
NEW 25.07.22 21:57 
в ответ uscheswoi_82 24.07.22 23:07
Появился...

Спасибо, но не вижу каких-то особых преимуществ

#57 
AlexNek патриот25.07.22 22:05
AlexNek
NEW 25.07.22 22:05 
в ответ alex445 25.07.22 00:56
не хотеть переучиваться на дерьмовый

Это всё разделение чисто индивидуально. И дело не только в конкретном языке, а в "системе" (IDE, либы и пр.)

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

#58 
alex445 коренной житель25.07.22 22:08
NEW 25.07.22 22:08 
в ответ Срыв покровов 25.07.22 21:00
require_once

Content-Type

А вот эти все чёрточки и подчёркивания в соединениях слов для элементов языка - это тоже обязательно, или просто автор кода так захотел?

#59 
Simple Nothing is f*cked25.07.22 22:37
Simple
NEW 25.07.22 22:37 
в ответ AlexNek 25.07.22 22:05

up

#60 
uscheswoi_82 коренной житель25.07.22 22:50
NEW 25.07.22 22:50 
в ответ alex445 25.07.22 22:08
require_once
Content-Type
А вот эти все чёрточки и подчёркивания в соединениях слов для элементов языка - это тоже обязательно, или просто автор кода так захотел?

require_once - это так решил разработчик PHP.

Content-Type - это так решил имхо W3C см. https://www.w3.org/Protocols/rfc1341/4_Content-Type.html. В Content-Type указываешь тип MIME, если jpeg картинка то пишишь Content-Type:image/jpeg, если XML то Content-Type:application/xml, итд., тут перечислены MIME - https://developer.mozilla.org/ru/docs/Web/HTTP/Basics_of_H...

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#61 
uscheswoi_82 коренной житель25.07.22 23:02
NEW 25.07.22 23:02 
в ответ alex445 25.07.22 22:08
А вот эти все чёрточки и подчёркивания в соединениях слов для элементов языка - это тоже обязательно

Если не ООП то имя функции могут выглядеть так:

имямодуля_глагол_существительное

имямодуля_глагол_глагол


Например:

function user_add_new_user($str_username, $str_password) {
...
}

function user_delete_user($int_user_id) {
...
}


Типы данных выглядят так:

типданных_имяпеременной

типданных_глагол_существительное

типданных_глагол_глагол


Например:

$str_username = 'uscheswoi_82'; // Строка 
$int_age = 40; // Число
$bool_is_married = false; // boolean


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#62 
uscheswoi_82 коренной житель25.07.22 23:03
NEW 25.07.22 23:03 
в ответ Simple 25.07.22 21:18
безум
Ради бога, зачем нужны эти велосипеды, если можно взять фреймворк?

Чтобы alex445 понял.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#63 
uscheswoi_82 коренной житель25.07.22 23:07
NEW 25.07.22 23:07 
в ответ Срыв покровов 25.07.22 21:00, Последний раз изменено 25.07.22 23:10 (uscheswoi_82)
разве эти все Require once не на сервере обрабатываются? Какой там аякс?

Так вызывается:

function ap_lsf(u, tr_uploaded)  // load_sound_files
{
  $$.ajax(path + "mp3soundsload.php", 'POST', 'u=' + u, function(sounds) 
  {
    var resp = JSON.parse(sounds);
    var items = '';
    for(var index=0; index<resp.length; index++)
    {
      items += '<div id="player__' + resp[index].audioid + '"><div title="' + 
      sprintf(tr_uploaded, resp[index].flname) +'" id="player_' + index + '"><div>' + 
      resp[index].author + ' - ' + resp[index].title + '</div><table><tr><td><div id="play_button_' + 
      index + '"><a class="player_button" href="javascript:void(0);" onclick="ap_pa(\'' + 
      resp[index].file + '\', \'\',' + index + ', \'' + resp[index].author + 
      ' - ' + resp[index].title + '\')"><img id="img_' + resp[index].audioid + 
      '" src="' + path + 'images/play.png" width="20px" height="20px" /></a> </td><td class="" style="width:200px;"><div class="_auplayer_none"> </div><div class="_auplayer_pos" style="width:0px;" id="progress_' + 
      index + '"> </div></td><td><span id="current_time_' + index + '">00:00</span> / <span id="time_' + index + 
      '">' + resp[index].length + '</span></td><td><a class="command" href="#javascript:void(0);" onclick="ap_da(' + resp[index].audioid + ');">×</a></tr></table></div></div>';
    }
    var items2 = '<div id="volume_inner"><a class="command" href="javascript:void(0);" onclick="ap_dec();">-</a> <input type="text" id="volume_value" value="0.5"
    style="text-align:center; width:50px;" disabled> <a class="command" href="javascript:void(0);" onclick="ap_inc();">+</a></div>';
    $('volume').text(items2);
    $('sounds').text(items);
  });
}

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#64 
Simple Nothing is f*cked25.07.22 23:20
Simple
NEW 25.07.22 23:20 
в ответ uscheswoi_82 25.07.22 23:03

хаха

Тут только зря время тратите.

#65 
Simple Nothing is f*cked25.07.22 23:22
Simple
NEW 25.07.22 23:22 
в ответ uscheswoi_82 25.07.22 22:50
require_once - это так решил разработчик PHP.

https://www.php-fig.org/psr/psr-4/

#66 
alex445 коренной житель26.07.22 10:45
NEW 26.07.22 10:45 
в ответ uscheswoi_82 25.07.22 23:02, Последний раз изменено 26.07.22 10:47 (alex445)

Я имел ввиду, что эти змеи и кебабы - они встроены на уровне языка и нужно только так (например, верблюд не подойдёт), или просто так решил автор кода, а писать на Пыхе можно как угодно?


https://en.wikipedia.org/wiki/Letter_case#Use_within_progr...


Вот тут вроде пишут, что можно по-нормальному называть.

#67 
Murr патриот26.07.22 18:28
Murr
NEW 26.07.22 18:28 
в ответ MrSanders 25.07.22 00:47

Пф... Щаз.

-----

У меня - получалось... если кода оставалось 30-40%...


можно воткнуть свою мысль

-----

А вот это никогда не работало.

Да и по психологии обучения не должно - заинтересованность на уровне "от... вянь"...

#68 
Murr патриот26.07.22 18:35
Murr
NEW 26.07.22 18:35 
в ответ alex445 25.07.22 00:59

А как выглядит проект на пыхе из сотен классов?

-----

Правильнее было бы поинтересоваться кто из сотен тысяч пыхапистов знает что такое класс...

Это как у тебя - тебе сказано что для решения определенной задачи надо знать пропсы и таргетсы... и чо? Изучил? Не-а... будешь дальше ныть что такое сделать не знсешь как...

#69 
MrSanders коренной житель26.07.22 21:22
NEW 26.07.22 21:22 
в ответ Murr 26.07.22 18:28
У меня - получалось... если кода оставалось 30-40%...

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

А вот это никогда не работало.

Неоднократно получалось так донести свою мысль. Так что работает.


Да и по психологии обучения не должно - заинтересованность на уровне "от... вянь"...

С чего же это не должно? До тех, у кого заинтересованности нет, никак без административных кнутов не достучишься. А кого-то можно и заинтересовать. Если он соблаговолит тебя послушать.

#70 
Murr патриот26.07.22 22:01
Murr
NEW 26.07.22 22:01 
в ответ MrSanders 26.07.22 21:22

Так что работает.

-----

"через пару дней коммитим такой же самый код,"


А кого-то можно и заинтересовать.

-----

10^(-10).

Ты же сам говоришь - нет никакой заинтересованности. Изначально - нет.

Чтобы заинтересовать - надо показать как предлагаемое облегчит(уменьшит) выполняемую работу.

Словеса... и, особенно, требуемое после них умственное усилие для осознания и закрепления - не способствуют.

#71 
uscheswoi_82 коренной житель27.07.22 00:32
NEW 27.07.22 00:32 
в ответ alex445 26.07.22 10:45

встроенные функции с подчёркиванием, вызываете с подчёркиванием (допустим $_GET, $_POST, utf8_encode, utf8_decode, str_replace, require_once, json_encode, json_decode, ob_clean, ob_start, итд.), а если кастомные функции, то сами придумываете как вам лучше, в колледже на заставляли так - типданных_имя_переменной, имямодуля_функция(...).

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#72 
MrSanders коренной житель27.07.22 09:52
NEW 27.07.22 09:52 
в ответ Murr 26.07.22 22:01
"через пару дней коммитим такой же самый код,"

Аккуратнее в полемическом задоре. Не путаем. Это был результат "А написать "правильно" и спросить "почему тут плохо?" а не "спросить почему сделано так".

Ты же сам говоришь - нет никакой заинтересованности. Изначально - нет.

Чтобы заинтересовать - надо показать как предлагаемое облегчит(уменьшит) выполняемую работу.

Изначально нет. Всех кто чем-то интересуется коболоидные дебилозавры всеми силами выживают. И делают круглые глазки когда из спрашиваешь зачем они молодёжь отпугивают. Ниценемизм очень развит.

Чтобы заинтересовать - недо для начала добиться что предлагаемое будет вообще рассмотрено. А не скопипащено на "отвали". И вот чтобы начать разговор и нужен вопрос "а почему тут так". И предлагать решение только после того, как будет понята проблема.

#73 
alex445 коренной житель27.07.22 10:30
NEW 27.07.22 10:30 
в ответ uscheswoi_82 27.07.22 00:32
встроенные функции с подчёркиванием, вызываете с подчёркиванием (допустим $_GET, $_POST, utf8_encode, utf8_decode, str_replace, require_once, json_encode, json_decode, ob_clean, ob_start, итд.), а если кастомные функции, то сами придумываете как вам лучше, в колледже на заставляли так - типданных_имя_переменной, имямодуля_функция(...).

Если это действительно так, то ой.


В чём проблема, если бы создатели новых модных молодёжных языков (ну, в то время это было так) просто копировали бы удачный синтаксис, немного его исправляя, вместо того, чтобы городить что-то радикально своё - странное и неудобное?

#74 
Murr патриот27.07.22 12:01
Murr
NEW 27.07.22 12:01 
в ответ MrSanders 27.07.22 09:52

как будет понята проблема.

-----

Так проблемы - нет - работает (же)!


добиться что предлагаемое будет вообще рассмотрено. А не скопипащено на "отвали".

-----

Оно, если понимание этого "оно" превышает некий и не очень высокий уровень затрат,

не будет не то что рассмотрено - оно даже скопипащено не будет.

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

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

может быть от нуля до пары недель... а за пару недель коболиста на интерфейсы не

переведешь... у них скорее всего полный ноль на все что не кобол...

#75 
alex445 коренной житель27.07.22 13:18
NEW 27.07.22 13:18 
в ответ Murr 27.07.22 12:01

у долбоящеров, типа меня,

может быть от нуля до пары недель

1 000 000 / 44 рабочих недели в году * 2 недели на изучение = 45к на изучение одной хреновины. Ну и плюс разные выплаты и налоги от работодателя - итого до 100к.

Не жирно? ))

#76 
Murr патриот27.07.22 13:27
Murr
NEW 27.07.22 13:27 
в ответ alex445 27.07.22 13:18

Не жирно?

-----

Двухнедельный курс... 1/20 от 45К... 40 рыл на курсе...

Нее, не дорого... можно даже слегка подороже брать...

#77 
Van Doren патриот11.08.22 12:55
Van Doren
NEW 11.08.22 12:55 
в ответ Simple 25.07.22 23:22

При этом в PHP есть родной autoloader, то бишь более очевидным (и более быстроработающим) решением была бы установка посторонних пакетов таким образом, чтобы заюзать встроенный autoloader. 🤦🏻 и там все PSRы такие.

#78 
Simple Nothing is f*cked11.08.22 13:50
Simple
NEW 11.08.22 13:50 
в ответ Van Doren 11.08.22 12:55, Последний раз изменено 11.08.22 13:52 (Simple)

Что за родной autoloader? Ни разу не видел его упоминания.

Этот? https://www.php.net/manual/en/function.spl-autoload.php

#79 
Van Doren патриот11.08.22 14:38
Van Doren
NEW 11.08.22 14:38 
в ответ Simple 11.08.22 13:50

Дано: index.php в PROJECT_ROOT.'/public'. Классы с полным путём имени в PROJECT_ROOT.'/src'. Тогда следующий код в index.php регистрирует дефолтный autoloader, для которого не нужен дополнительный код.

ini_set('include_path', realpath('../src'));
spl_autoload_register();

То бишь можно было бы модифицировать Composer, сократить количество кода, увеличить скорость работы приложения, но нет...

#80 
Simple Nothing is f*cked11.08.22 16:20
Simple
NEW 11.08.22 16:20 
в ответ Van Doren 11.08.22 14:38

Ты видел где-то замеры дефолтного autoloader с composer autoloader с оптимизацией? Че-то мне кажется, что разницей можно будет пренебречь.

#81 
Van Doren патриот11.08.22 17:09
Van Doren
NEW 11.08.22 17:09 
в ответ Simple 11.08.22 16:20

Можно, но зачем добавлять лишний код? Он не только медленнее, он расходует память, мешается в трейсах и дебаге, и так далее. Всё что этот PSR-4 даёт по сравнению со встроенным — это засунуть код в vendor-папку с неканоничными путями.

#82 
1 2 3 4 5 все