HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 10.08.2019, 17:45
Solution
Постоянный
Регистрация: 06.09.2017
Сообщений: 505
С нами: 4571066

Репутация: 251


По умолчанию

Решил освоить на хороший уровень php, с java и net в вебе не очень удобно для мелких задач требущих примитивной логики, слишком много лишних теложвижений.

Прошу совета в обучении с чего начать и что почитат.

Первым делом интересуют общие принципы програмирование на данном языке, какие то может общие правила написания кода.

Вторым, проектирование проекта(не интересны фреимворки).

Третим, это работа с бд, сокетами, апи.

Очень прошу если решили помочь, то давайте литературу которую сам прочли, а не слышали от кого то.

Спасибо за внимание.
 
Ответить с цитированием

  #2  
Старый 10.08.2019, 18:45
kick
Флудер
Регистрация: 20.01.2015
Сообщений: 7,201
С нами: 5952720

Репутация: 6527


По умолчанию

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
 
Ответить с цитированием

  #3  
Старый 11.08.2019, 18:58
Desquire
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами: 5799746

Репутация: 1388


По умолчанию

Кик скинул отличные ссылки.

На счёт фреймворков - на вкус и цвет.

В любом случае сначала ресерч, а потом уже пиши новое.

Есть кучи хороших пакетов.

Так же и мини фреймов.

Могу добавить ещё о некоторых фишках -

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

Для дебага: xdebug must have (привет @kick который по странному дебажит).

Так же для дебага: blackfire - проанализировать приложение и поиска чего отредактирить.

GrumPhp - для контроля качества кода.

Или до минимума phpcs phppmd.

( В идеале настроить так, чтобы при комитете проверялись изменённые файлы).

Так же для проверки качества кода - Sonarqube.

При этом это не только для пхп) Но это уже для крупных проектов с большой тимой)
 
Ответить с цитированием

  #4  
Старый 11.08.2019, 19:28
kick
Флудер
Регистрация: 20.01.2015
Сообщений: 7,201
С нами: 5952720

Репутация: 6527


По умолчанию

Цитата:
Сообщение от Desquire  

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

Цитата:
Сообщение от Desquire  

Для дебага: xdebug must have (привет @@kick который по странному дебажит).
Я отлично дебажу , но мне лень xdebug настраивать).

Цитата:
Сообщение от Desquire  

Так же для дебага: blackfire - проанализировать приложение и поиска чего отредактирить.
Ну раз такая пляска, то еще для дебага:

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


Цитата:
Сообщение от Desquire  

GrumPhp - для контроля качества кода.
Не нужная вещь

Цитата:
Сообщение от Desquire  

Или до минимума phpcs phppmd.
( В идеале настроить так, чтобы при комитете проверялись изменённые файлы).
phpcs не для контроля качества кода. Но он из коробки априори должен идти. В современных фреймворках разработчики сами его предоставляют или в кастомных библиотеках. А во многих кастомных библиотеках, требование для пулл реквеста обязательно перед коммитом и пулл реквестом использовать cs fixer.

Раз такая пляска пошла, дальше дефолта с чем начинать новичку, то туда же 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
 
Ответить с цитированием

  #5  
Старый 11.08.2019, 20:33
Desquire
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами: 5799746

Репутация: 1388


По умолчанию

Цитата:
Сообщение от kick  

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

Цитата:
Сообщение от kick  

Ну раз такая пляска, то еще для дебага:
Тоже самое что использовать var_dump

Дебаг на нативном окружении настраивается 1 раз.

Если ты там используешь докер, вариант, или т.п.

То тоже настраивается 1 раз, и потом не нужно использовать что-то ещё.

Цитата:
Сообщение от kick  

Не нужная вещь
Если ты не использовал, это не значит что это не нужная вещь.

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

Он позволяет настроить проверку до комита - обновлен ли Лок файл композер, валидирует ямл файлы, дёргает пхпкс и т.п.

Цитата:
Сообщение от kick  

phpcs не для контроля качества кода
Не согласен.

При правильной настройке его как раз используешь как контроль самого себя.

За пол года- год ты уже все запомнить можно. Но, при правильной настройке ты тупо не можешь закомитеть без флага -n

Если кто-то сделает это, то при следующем изменении файла опять будет ошибка.

Но опять же, если крупный проект и команда. Или ты сам хочешь делать ах.. хороший код)

На счёт текстов - опять же, писать их надо, но кто их делает? Проблема не в неумении, а в нежелении трать свое время или деньги.

На деле, даже в крупных компаниях и 25 процентов проектов без тестов. ( Есть же куа мануальщики)

Я только для контриб модулей писал

Про СI зависит от требований.

Если только локальное окружение, то какое там ...

Да и всегда есть куча аналогов ( я например ярый фанат гитлаб сиай)
 
Ответить с цитированием

  #6  
Старый 11.08.2019, 20:45
kick
Флудер
Регистрация: 20.01.2015
Сообщений: 7,201
С нами: 5952720

Репутация: 6527


По умолчанию

Цитата:
Сообщение от Desquire  

Да и всегда есть куча аналогов ( я например ярый фанат гитлаб сиай)
Одна из главных проблем гитлаба, это то что он дико течет и нужно не мало ресурсов. Я ярый фанат gogs, форк от него gitea который вообще не требует ресурсов, частые обновления и разрабатывается большим комьюнити, в отличие от gogs где 1 китайцем. При этом можно запустить даже на Raspberry PI.
 
Ответить с цитированием

  #7  
Старый 12.08.2019, 19:54
Desquire
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами: 5799746

Репутация: 1388


По умолчанию

Цитата:
Сообщение от kick  

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

Цитата:
Сообщение от Спойлер  


Форматирование (BB-код):


Код:
GrumPHP detected a pre-commit command.
GrumPHP is sniffing your code!
Running task 1/6: Composer... ✔
Running task 2/6: JsonLint... ✔
Running task 3/6: Phpcs... ✘
Running task 4/6: PhpLint... ✔
Running task 5/6: PhpStan... ✔
Running task 6/6: YamlLint... ✔
             ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
           ▄▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
         ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄
        ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
       ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
  ▄███▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
 █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
 ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
   ▀█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
     ▀▀▓▓▓▓▓▓▓▓▓▓▓▓█▀▀▀▀▀▀▀▀▀▀▀▀▀▀████████████▄
      ▄███████                       ██████████
     ███████▀  ▀▀▀▀▀▄      ▄▀▀▀▀▀     █████ ▀
      ▐████      ▐██        ▐██        ████▌
      ████▌                            ███
       ▌██▌           ▄▄ ▄▄           ▐███
        ███       ▄▄▄▄▄▄▄▄▄▄▄▄       ▐███
         ██▄ ▐███████████████████████████
        █▀███████████▀     ▀▀███████████
          ██████████▄███████▄███████████
         ▐█████████████████████████████
          █████████████████████████████
           ██ █████████████████████▐██▀
            ▀ ▐███████████████████▌ ▐▀
                ████▀████████▀▐███
                 ▀█▌  ▐█████  ██▌
                        ██▀   ▐▀

       ██████████████████████████████████
       █░░░░░░▀█▀░░░░░░▀█░░░░░░▀█▀░░░░░▀█
       █░░▐█▌░░█░░░██░░░█░░██░░░█░░░██░░█
       █░░▐█▌░░█░░░██░░░█░░██░░░█░░░██░░█
       █░░▐█▌░░█░░░██░░░█░░░░░░▄█░░▄▄▄▄▄█
       █░░▐█▌░░█░░░██░░░█░░░░████░░░░░░░█
       █░░░█░░░█▄░░░░░░▄█░░░░████▄░░░░░▄█
       ██████████████████████████████████

FILE: .../docroot/modules/custom/prname_common/src/Form/UrlMediaForm.php
----------------------------------------------------------------------
FOUND 5 ERRORS AFFECTING 5 LINES
----------------------------------------------------------------------
 65 | ERROR | [x] Concat operator must be surrounded by a single
    |       |     space
 77 | ERROR | [x] Array indentation error, expected 12 spaces but
    |       |     found 14
 78 | ERROR | [x] Array closing indentation error, expected 10 spaces
    |       |     but found 12
 95 | ERROR | [x] Expected 1 blank line after function; 0 found
 96 | ERROR | [x] The closing brace for the class must have an empty
    |       |     line before it
----------------------------------------------------------------------
PHPCBF CAN FIX THE 5 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

Time: 125ms; Memory: 8Mb

You can fix some errors by running following command:
'/usr/bin/phpcbf' '--standard=vendor/drupal/coder/coder_sniffer/Drupal,vendor/drupal/coder/coder_sniffer/DrupalPractice' '--report=full' '/home/anton/projects/prname/docroot/modules/custom/prname_common/src/Form/UrlMediaForm.php'
 
Ответить с цитированием

  #8  
Старый 13.08.2019, 04:00
Psycho
Новичок
Регистрация: 23.01.2016
Сообщений: 0
С нами: 5423329

Репутация: 5079
По умолчанию

[OFF]

Цитата:
Сообщение от Спойлер  


[/OFF]
 
Ответить с цитированием

  #9  
Старый 20.08.2019, 14:28
Nolanson
Участник форума
Регистрация: 20.08.2019
Сообщений: 105
С нами: 3544090

Репутация: 147
По умолчанию

Цитата:
Сообщение от Solution  

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

Очень прошу если решили помочь, то давайте литературу которую сам прочли, а не слышали от кого то.
Спасибо за внимание.
Для начала выбрать php, java etc...

Разобраться с ООП.

Не хотите лишних телодвиженийто посоветую Вам Go, NodeJS.

работа с бд, сокетами, апи. Вот тут не понятно. С какой именно БД с каким api или вы имеете ввиду создание своего api?
 
Ответить с цитированием

  #10  
Старый 20.08.2019, 14:37
Desquire
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами: 5799746

Репутация: 1388


По умолчанию

Цитата:
Сообщение от Nolanson  

Для начала выбрать php, java etc...
Разобраться с ООП.

Не хотите лишних телодвиженийто посоветую Вам Go, NodeJS.

работа с бд, сокетами, апи. Вот тут не понятно. С какой именно БД с каким api или вы имеете ввиду создание своего api?
Сб скорее всего реляционные и нереляционные)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...