Laravel a profesjonalizm

Laravel a profesjonalizm
M8
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 7 lat
  • Postów:7
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!

czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
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.

edytowany 1x, ostatnio: aurel
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0

jeden z najłatwiejszych to CI


M8
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 7 lat
  • Postów:7
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.

edytowany 2x, ostatnio: aurel
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0
Tajny Konspirator napisał(a):
Kopiuj
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


drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
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
Kopiuj
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ł.

DE
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:1788
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?"

edytowany 1x, ostatnio: Desu
MA
  • Rejestracja:prawie 17 lat
  • Ostatnio:dzień
  • Postów:644
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.

edytowany 1x, ostatnio: Markuz
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
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.

edytowany 1x, ostatnio: drorat1
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
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 ;)

edytowany 1x, ostatnio: aurel
Laran
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Łódź
  • Postów:48
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

edytowany 1x, ostatnio: Laran
Adam Boduch
Administrator
  • Rejestracja:około 23 lata
  • Ostatnio:11 dni
  • Postów:11948
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 :)

DE
Laravel to taki RoR w świecie PHP :P
Adam Boduch
Tak słyszałem. Podobno wiele pomysłów zaczerpnięte właśnie z RoR.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)