Laravel a profesjonalizm

0

Witam,

jestem początkującym programistą php oraz python. Ogarnąłem już sam język, więc czas na poznanie jakiegoś frameworka.
Spotkałem się wiele razy z opiniami, ze Laravel nadaje się tylko do napisania aplikacji raz i zapomnienia, z uwagi na trudny (?) proces
wdrażania zmian, uaktualnień? Nie wiem czy dobrze to zrozumiałem ale jak to w końcu jest? Jeżeli to prawda to jakiego frameworka lepiej się uczyć?
W wielu ogłoszeniach widzę przewagę Symfony i Zend. To będzie lepszy wybór?

Z góry dzięki za pomoc!

1

zawsze są ludzie, którzy chwalą i którzy narzekają, tak jest ze wszystkim, w każdym z tych frameworków dostaniesz pracę, wypróbuj i sam zadecyduj który wygodny dla ciebie

2

Laravel nadaje się tylko do napisania aplikacji raz i zapomnienia, z uwagi na trudny (?) proces
wdrażania zmian, uaktualnień?

Jak ktos nie rozumie jak działa FW, to wszystkie są trudne.
Laravel jest najłatwiejszy...nie ma łatwiejszego.

0

jeden z najłatwiejszych to CI

0

Ok ja to rozumiem, tylko po prostu nie wiedziałem skąd tyle negatywnych opinii o Laravel, że się nie nadaje do profesjonalnych zastosowań.

1

jeden z najłatwiejszych to CI

CI jest prymitywny, co wcale nie znaczy,że jest łatwy. Poleciłbym jeszcze Yii 2, chociaż nie jest tak popularny.
Ostatecznie może byc Symfony 2.8 lub Symfony 3, bo też można wiele ficzerów dobudować jedną linijką kody, ale z kolei dokumentacja jest bardzie zagmatwana od takiego Laravela 5.4 + Laracasty..Laravel, jest naprawde łatwy.

Ok ja to rozumiem, tylko po prostu nie wiedziałem skąd tyle negatywnych opinii o Laravel, że się nie nadaje do profesjonalnych zastosowań.

Na Laravelu postawisz absolutnie każdą profesjonalną aplikacje, którą inni robia np. na Symfony 2.8. Ja nie rozumiem skąd te opinie o nieprofesjonalnym Laravelu.

0
Tajny Konspirator napisał(a):
jeden z najłatwiejszych to CI

CI jest prymitywny, co wcale nie znaczy,że jest łatwy.

jest łatwy i jest od groma tutków, filmów, łatwo się wdrożyć w początki mvc, oop, nie wymaga composera, działa na każdym hostingu, chociaż "profesjonaliści" mlaszczą zniesmaczeni, bo nie jest na hypie :)
Yii 2 ma kiepskie wsparcie, dodatkowo czasami bywają problemy z instalką, szczególnie dla początkujących

1

Laravel jest tyko pozornie prosty. Jeśli ktoś mi nie wierzy, to niech sobie wejdzie na różne fora i zobaczy ile jest problemów z realizacją często czegoś niestandardowego, czego akurat nie ma na repozytoriach Packagista albo w standardzie i spróbuje przeanalizować od podstaw kody w katalogu vendor pod względem co się dzieje krok po kroku.

Proste do opanowania i zrozumienia jak działają i to fundamentalnie analizując ich kody wewnętrzne to są: CI, Kohana / Koseven, FuelPHP. Miałem styczność z Yii2, ma fajne graficzne narzędzie do generowania scaffoldów (Gii) i prostych CRUD-ów i fajnie to rozwiązane w szablonach widoków (z Bootstrap), też w miarę wydaje mi się prosty do opanowania.

1
Laravel jest tyko pozornie prosty. Jeśli ktoś mi nie wierzy, to niech sobie wejdzie na różne fora i zobaczy ile jest problemów z realizacją często czegoś niestandardowego, czego akurat nie ma na repozytoriach Packagista albo w standardzie i spróbuje przeanalizować od podstaw kody w katalogu vendor pod względem co się dzieje krok po kroku.

Podaj konkretne przykłady niemożności zrealizowania czegoś niestandardowego. Problemy są ze wszystkim, w każdej technologii, w każdym FW, a może nawet szczególnie w FW. W Symfony jest tak samo dużo problemów z niestandardowymi funkcjonalnościami. Ja ciągle implementuje coś niestandardowego i jeszcze mi się nie zdarzyło, żeby FW mi coś uniemożliwił.

0

"I feel like people who criticize framework A or B try too hard to over-architect their applications and go out of their way to avoid using the framework - defeating the purpose of using a framework...

When building a web application, you have three choices:

Build everything yourself from scratch and have "perfect" architecture built precisely to your own standards.

Use a framework, build what you need quickly, and live with the fact that your application and your framework are attached at the hip.

Use a framework, and try like hell to keep the framework away from your "application" code, writing dozens or hundreds of boundary adapters, wrappers, and interfaces, plugging all leaky abstractions etc.

All of these have advantages and disadvantages.

#1 makes you an unproductive code hipster

#2 means you'll build what you need quickly, but you're now stuck with with your framework. If you don't plan on changing frameworks, great, no major problem. Just don't make your shit untestable - but that's on you, not the framework.

#3 means you're basically not using the framework to your advantage, because you're writing a shitload of insulation code (adapters, interfaces, POPOs) and using a framework.... by not using a framework???

What I've found is that rarely does "leaky framework" usage cause problems, unless you like porting your application between different frameworks for some reason. What slows you down is your own code architecture:

Inappropriately applied abstraction

Poorly designed cohesion

Loosely and tightly coupling the wrong things

Poorly defined responsibilities

Not once have I ever said "shit, I wish I didn't use Eloquent here" or "Man, that request facade is really biting me in the ass" or "Crap, the router has too many methods".

What I have said is: "shit, I tried to solve two similar but different business rules with the same method, and now they're tightly coupled together, and separating them out is going to be a pain in the ass".

Also, I don't know about the rest of you, but for me, 75% of the code of basically any application is inherently "http" code. Views, routes, controllers, forms, validators, css, html, javascript - stuff a human being will interface with - stuff that a framework like Laravel was designed to make easier to build. So when your colleague says "when you need to rewrite your code in one year...." what the fuck does he think it is that you're going to be rewriting?"

0

Sam framework to narzędzie które ma Ci ułatwić pracę - najlepiej jak poznasz każdego po trochu. Później będziesz mógł pisać w dowolnym ew. dobierać w zależności od potrzeb. Dodatkowo naucz się uniwersalnych rzeczy jak TDD (https://phpunit.de/ od tego zacznij), Design Patterns (https://sourcemaking.com/), BDD (http://behat.org/en/latest/) i ew. CQRS (http://getprooph.org/), DDD.

Jeżeli to prawda to jakiego frameworka lepiej się uczyć?

Najlepiej każdego, możesz zacząć od Laravel`a - ale większą wagę mają rzeczy uniwersalne, opisane wyżej.

2
Tajny Konspirator napisał(a):

Podaj konkretne przykłady niemożności zrealizowania czegoś niestandardowego.

Ja tu mówię o początkujących. To może być np. logowanie przez Steam, Facebooka i jemu podobne serwisy, integracja z Paypal itd. I szukanie po przykładach w sieci albo na githubie...

Zresztą polecam do obejrzenia to:

Bo to dość dobrze obrazuje problem z frameworkami.

1

z tego co czytam na tym forum i na innych to często ludzie mają problem z przebrnięciem przez samą instalację, połączenie z bazą, konfig url, htaccess, a to dopiero początek bez napisania linijki kodu ;)

1

z tego co czytam na tym forum i na innych to często ludzie mają problem z przebrnięciem przez samą instalację, połączenie z bazą, konfig url, htaccess, a to dopiero początek bez napisania linijki kodu ;)

A ja nieżle zarabiam programując w php-owych FW ;)

0
drorat1 napisał(a):
Tajny Konspirator napisał(a):

Podaj konkretne przykłady niemożności zrealizowania czegoś niestandardowego.

Ja tu mówię o początkujących. To może być np. logowanie przez Steam, Facebooka i jemu podobne serwisy, integracja z Paypal itd. I szukanie po przykładach w sieci albo na githubie...

Wat? Laravel ma oficjalne pakiety, które robią dokładnie te rzeczy i informacje o nich są nawet umieszczona w oficjalnej dokumentacji.

Laravel Cashier: https://laravel.com/docs/5.4/billing
Laravel Socialite: https://github.com/laravel/socialite

0

Krytyka Laravela ma związek z tym, że jest to framework bardziej amatorski (pisany w głównej mierze przed jedną osobę), w odróżnieniu od frameworka "biznesowego" - Symfony. Za Symfony stoi biznes, i sam kod frameworka jest być może dzięki temu - lepiej rozwiązany. Chodzi tutaj o architekturę.

Jeżeli chodzi o krytykę to w dużej mierze rozchodzi się tutaj o facade. Funkcjonalność, która nie ma związku ze wzorcami projektowymi, a została wymyślona na potrzeby frameworka. Takie rozwiązania nie są chyba stosowane nigdzie indziej. Dzięki temu oczywiście bardzo prosto jest rozpocząć pracę z tym FW, dla osób, które nie rozumieją pojęć dependency injection czy IoC.

Kolejna kwestia to ORM. W Symfony mamy encje (plain classes). Do tego dochodzi doctrine. Do tego dochodzi repository pattern.
W Laravel mamy modele, które dziedziczą po klasie Eloquent - który jest ORM dla Laravela. Modele są więc ściśle powiązane z bazą danych. To też się nie podoba ekspertom od PHP :)

Pomijając to, Laravel jest rzeczywiście prosty i piszę się dość szybko :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1