@elementaryos, ben de oturup bugün ne öğrensem diye bakmıyorum açıkçası. Bu bir arz-talep meselesi. Bir iş için lazım oluyor, o şekilde öğreniyoruz. Yoksa PHP dökümantasyonunda kullanılmayan ya da çok nadir kullanılan bir çok içsel kütüphaneyi bulabilirsiniz (Örneğin
http://php.net/manual/en/book.ui.php).
Real-time için ise durum biraz farklı. Günümüzün web/yazılım teknolojisinde, hem backend hem de frontend açısından, önemli bir yeri olduğu için ayrı olarak özel ilgi gösterilmesi gerektiğini düşünüyorum. Özellikle oturup öğrenilmesi gerekiyor yani.
Senin bahsettiğin bağımlılık konusunu çok iyi anlıyorum ama mantığını bilmek şartı ile projenin ayağı kalkması için "endüstri lideri" denilebilecek çok yaygın ve güvenilir 3. parti servis ve kütüphanelerin kullanılmasından yanayım.
Node, Socket.IO, Redis, Pusher, Firebase, Algolia, Symfony bileşenleri, Doctrine vs... bunlar artık birer bağımlılıktan öte kavramlar. Bunların içine girdikçe yeni teknolojileri öğreniyorsunuz ve yeni kapılar açılıyor.
Ben şu an PHP socket kullanacak olsam Ratchet kullanırım (ama kodlarını da ne yaptığını anlayıncaya kadar didik didik eder incelerim), oturup socket_create diye server/client yazmam çünkü bu saatten sonra vanilla kod yazmayacağım için yapacağım şey büyük ihtimalle bir Ratchet klonu olacak, yani varolanı bir daha yazmam demek ki bu, öğrenmek için yapılmıyorsa, zaman kaybı demek.
O yüzden mantığını, nasıl çalıştığını öğrenin ama bilindik şeyleri kullanmaktan da çekinmeyin. PHP bilmek ayrı bir şeydir, proje geliştirmek ayrı bir şeydir. Herkes PHP biliyor ama herkes proje geliştiremiyor.
Gerçi insan PHP biliyorum derken bile çekinmeli
$x = 2;
$y = 5;
$x -=- $y +-2-+ $x;
echo $x; // 11