![]() |
Решил освоить на хороший уровень php, с java и net в вебе не очень удобно для мелких задач требущих примитивной логики, слишком много лишних теложвижений.
Прошу совета в обучении с чего начать и что почитат. Первым делом интересуют общие принципы програмирование на данном языке, какие то может общие правила написания кода. Вторым, проектирование проекта(не интересны фреимворки). Третим, это работа с бд, сокетами, апи. Очень прошу если решили помочь, то давайте литературу которую сам прочли, а не слышали от кого то. Спасибо за внимание. |
GitHub - piotrplenik/clean-code-php: :bathtub: Clean Code concepts adapted for PHP
:bathtub: Clean Code concepts adapted for PHP. Contribute to piotrplenik/clean-code-php development by creating an account on GitHub. github.com GitHub - alexeymezenin/laravel-best-practices: Laravel best practices Laravel best practices. Contribute to alexeymezenin/laravel-best-practices development by creating an account on GitHub. github.com https://www.sonarsource.com/docs/Cog...Complexity.pdf PHP: Hypertext Preprocessor PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world. www.php.net |
Кик скинул отличные ссылки.
На счёт фреймворков - на вкус и цвет. В любом случае сначала ресерч, а потом уже пиши новое. Есть кучи хороших пакетов. Так же и мини фреймов. Могу добавить ещё о некоторых фишках - По возможности композер. Не вижу проектов где не будут использоваться какие-либо контрибные либы. Для дебага: xdebug must have (привет @kick который по странному дебажит). Так же для дебага: blackfire - проанализировать приложение и поиска чего отредактирить. GrumPhp - для контроля качества кода. Или до минимума phpcs phppmd. ( В идеале настроить так, чтобы при комитете проверялись изменённые файлы). Так же для проверки качества кода - Sonarqube. При этом это не только для пхп) Но это уже для крупных проектов с большой тимой) |
Цитата:
Цитата:
Цитата:
The VarDumper Component (Symfony Docs) The VarDumper component provides mechanisms for extracting the state out of any PHP variables. Built on top, it provides a better dump() function that you can use instead of var_dump. Installation … symfony.com Цитата:
Цитата:
Раз такая пляска пошла, дальше дефолта с чем начинать новичку, то туда же php unit. Travis CI и полная автоматизация билдов и запуска в вм. Кстате Travis CI полностью позволит даже выполнять юнит тесты определенные. Использование конечно же под капотом Symfony компонентов, так как на них строятся все крупные приложения. И нет не 1 проекта, который бы не использовал какой то из компонентов Symfony. Помимо этого, рекомендуемая среда для разработки PhPStorm. Которая позволяет выставить брекпойнты и что находится в определенной функции и имеет кучу плагинов и настроек для работы. Так же я очень сильно забыл упомянуть 1 полезную вещь, которую наверное надо самой первой читать это PSR: PHP Standards Recommendations - PHP-FIG We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together. www.php-fig.org Конечно если хочется дальше и сложнее приложения, с полностью ORM базы данных то стоит присмотреться к паттерну DataMapper, который предоставляет Doctrine, Spot ORM. Из сложных и довольно гибкого и легкого в изучение то одназначно фреймворк Laravel, но стоит учесть тот факт, что его хорошо использовать в серьезных и крупных приложениях, так как в более простых и 90% функционала и возможностей не будет использоваться и учитывая сколько он тянет библиотек и зависимостей за собой, то их просто не реально все использовать на полную катушку. Если интересует из микрофреймворков, то Slim будет идеален, роутинг и DI. Остальное ты пиши и дописывай сам и крути как угодно и как ты хочешь, весьма идеален не для огромных приложений. И для API, обязательно ставить Postman |
Цитата:
Цитата:
Дебаг на нативном окружении настраивается 1 раз. Если ты там используешь докер, вариант, или т.п. То тоже настраивается 1 раз, и потом не нужно использовать что-то ещё. Цитата:
Если ты пишешь сам приложении, без команды и комиты летят раз в день то да. Толку нет. Он позволяет настроить проверку до комита - обновлен ли Лок файл композер, валидирует ямл файлы, дёргает пхпкс и т.п. Цитата:
При правильной настройке его как раз используешь как контроль самого себя. За пол года- год ты уже все запомнить можно. Но, при правильной настройке ты тупо не можешь закомитеть без флага -n Если кто-то сделает это, то при следующем изменении файла опять будет ошибка. Но опять же, если крупный проект и команда. Или ты сам хочешь делать ах.. хороший код) На счёт текстов - опять же, писать их надо, но кто их делает? Проблема не в неумении, а в нежелении трать свое время или деньги. На деле, даже в крупных компаниях и 25 процентов проектов без тестов. ( Есть же куа мануальщики) Я только для контриб модулей писал Про СI зависит от требований. Если только локальное окружение, то какое там ... Да и всегда есть куча аналогов ( я например ярый фанат гитлаб сиай) |
Цитата:
|
Цитата:
Цитата:
|
[OFF]
Цитата:
|
Цитата:
Разобраться с ООП. Не хотите лишних телодвиженийто посоветую Вам Go, NodeJS. работа с бд, сокетами, апи. Вот тут не понятно. С какой именно БД с каким api или вы имеете ввиду создание своего api? |
Цитата:
|
Цитата:
|
Цитата:
Что нужно то и будет использовать Все они не плохо дружат в пыхой) |
Опять нужна годная статья... на этот раз на тему роутинга.
Бывалые выручайте. |
Цитата:
|
Ну если ты не полностью с 0 пишешь, то я бы заюзал какой-то пакет.
Например с симфони. Хотя я хз что там по зависимостям. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Как раз таки что б что то выучить, нужно брать и писать код, нужно понять как все работает с самого начала и до конца. То что ты пишешь за фреймы, относится к пользовательскому программированию что вообще программированием назвать тяжело, берешь все готовое и как зомби дописываешь свои пару функций, вроде все работает, а как работает хрен знает. Я в первом посте дал понять что мне не интересный фреимворки от слова совсем. |
Цитата:
Не бери изобретай свой велосипед вместо проверенного и не тобой одним а многими. Если я не знаю КАК работает то и нафига мне оно нужно? Чтобы понять как все работает нужно знать ООП. У опытного программиста есть просто наборы готовых решений и нет необходимости своего фреймворка. Что такое пользрвательское программирование? 1С чтоли? |
Slim микро фрейм в котором кроме роутинга и di ничего и иди меняй как душе угодно. А городить своё это уже издевательство.
По поводу ларки, она не под вас, а для более серьезных и крупных проектов с огромными возможностями. А так даже и 90% возможностей и библиотек не будет использоваться |
Отцепитесь от парня, каждый уважающий себя пхппешник в начале свой карьеры должен написать свой фрейм.
Потом когда станет джуном, поймёт что это хлам, и нужно все переписать. Когда станет ещё более опытным, поймёт что вообще его нужно удалить и не нужно было начинать писать) |
Гдето у меня балванка с моими поделками на cgi (perl) и php3 найти нужно понастольгируем)
|
Свой, что-ли говно код сюда кинуть ... Уверен, что переплюну тут всех.
|
| Время: 12:18 |