Ответ
Мой путь в PHP-разработке начался с самостоятельного изучения основ: синтаксиса, работы с формами и базой данных MySQL. Первым реальным проектом был простой сайт-визитка с админкой, написанный на чистом PHP.
Ключевым этапом стало освоение ООП и переход на фреймворки. Я начал с Laravel, который позволил понять паттерны MVC, работу с роутингом и миграциями. Вот пример одной из первых написанных мной моделей:
<?php
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class Post extends Model
{
protected $fillable = ['title', 'content'];
public function user()
{
return $this->belongsTo(User::class);
}
}
Параллельно я изучал экосистему: Composer для управления зависимостями, Git для контроля версий, основы Linux для деплоя. Первый коммерческий опыт закрепил эти знания и добавил понимание процессов командной разработки, code review и написания тестов на PHPUnit.
Ответ 18+ 🔞
Слушай, вот как я в PHP влип — это отдельная история, ёпта. Начинал, как все, с полного нуля. Сидел, тупил в мануалы, пытался понять, как эта хрень вообще работает. Сначала просто синтаксис глотал, потом с формами разбирался, а потом и до базы данных MySQL добрался. Первый свой проект, блядь, до сих пор помню — сайт-визитка с админкой, написанный на чистом PHP, без всяких этих ваших фреймворков. Код там был, конечно, пиздопроебибна, но зато работало, и я сам от себя офигевал, что что-то получилось.
Потом настал момент, когда понял, что так дальше нельзя, надо расти. Ключевым переломом стало изучение ООП. Это, сука, как пелена с глаз упала. Всё встало на свои места. Ну а дальше — переход на фреймворки. Я, естественно, полез в Laravel, потому что все про него орут. И знаешь что? Не зря орут. Он реально позволил въехать в паттерны MVC, в этот их роутинг, миграции... Всё стало структурированно, красиво. Вот смотри, один из первых моих опытов с моделью, я тогда охуел, что так просто можно:
<?php
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class Post extends Model
{
protected $fillable = ['title', 'content'];
public function user()
{
return $this->belongsTo(User::class);
}
}
Выглядит же просто, да? А для меня тогда это было как открытие Америки. Параллельно, конечно, пришлось впихивать в себя всю эту экосистему: Composer, чтобы зависимости не разбегались, Git, чтобы не потерять всё нахер, основы Linux, чтобы потом этот свой шедевр на сервер засунуть. Первый коммерческий опыт, блядь, всё это окончательно закрепил. Там уже и про процессы командной разработки узнал, и что такое code review (где тебя могут так взъебать за кривой код, что мало не покажется), и как эти тесты на PHPUnit писать, чтобы всё не развалилось при первом же чихе. В общем, путь был тернистый, но, ебать, интересный.