Wątek przeniesiony 2021-09-09 15:01 z Społeczność przez cerrato.

Skąd wzięła się nienawiść do PHP-powców?

3

Strony w php są tańsze bo czas ich realizacji jest dużo krótszy.

A skąd właściwie to założenie? Bo żeby taką tezę wysuwać to trzeba byloby mieć jak w sensowy sposób to porównać ;)

0

Dlaczego w PHP się pisze szybciej niż w C#? Znalazłem pierwszy lepszy kontroler dla CRUDa w ASP.NET Core i ma on jakieś 60 linii: https://github.com/carltonsti[...]rollers/EmployeeController.cs W Laravelu by było mniej? Zakładamy, że pomijamy dobre praktyki itd.

1

PHP jest zły ;) https://www.phparch.com/artic[...]ion-station-php-is-the-worst/
przeczytajcie są podane argumenty które jednocześnie i przeciwnicy i zwolennicy uznają za swoje ;)

function like strpos() that returns either an
integer or a boolean is slightly easier to handle than having a
method that returns an integer or throws an exception

0
nobody01 napisał(a):

Dlaczego w PHP się pisze szybciej niż w C#? Znalazłem pierwszy lepszy kontroler dla CRUDa w ASP.NET Core i ma on jakieś 60 linii: https://github.com/carltonsti[...]rollers/EmployeeController.cs W Laravelu by było mniej? Zakładamy, że pomijamy dobre praktyki itd.

W larawerze to by bylo 9 linijek i to z dobrymi praktykami

class MyController extends Controller {
    public function index() {}
    public function create() {}
    public function store() {}
    public function show() {}
    public function edit() {}
    public function update() {}
    public function destroy() {}
}
0

W sumie pomyślałem, że na szybko z ciekawości zobaczę ile wyjdzie linii gdyby kod przeportować :)

use App\Http\Controllers\Controller;
use App\Http\Requests\EmployeetStoreRequest;
use App\Http\Requests\\EmployeetUpdateRequest;
use App\Models\Employee;
use Illuminate\Http\Request;

class EmployeeController extends Controller {

    public function index() {
        return view('employee.index', ['employee' => Employee::all()]);
    }

    public function create(Employeet $employee) {
        return view('employee.create');
    }

    public function store(EmployeetStoreRequest $request) {
        return redirect(route('employee.edit', Employee::create($request->validated())))->with([
            'success' => 'Successfully Created New Employee'
        ]);
    }

    public function show(Employee $employee) {
        return view('employee.show', ['employee' => $employee]);
    }

    public function edit(Employee $employee) {
        return view('employee.edit', ['employee' =>  $employee]);
    }

    public function update(EmployeetUpdateRequest $request, Employee $employee) {
        $employee->update($request->validated())-refresh();

        return redirect(route('employee.edit', $employee))->with([
            'success' => 'Successfully Edited Employee.'
        ]);
    }

    public function destroy(Employee $employee) {
        $employee->delete();

        return redirect(route('employee.index'))->with([
            'success' => 'Successfully Deleted Employee.'
        ]);
    }
}

Tak by to wyglądało, mniej więcej wyszło coś kolo 40 linijek samego kodu. ale to już kwestia podomykania klamer i czytelności kodu.Ogólnie każdy początkujący by skumał taki podstawowy CRUD w 5 minut

0

Hmm, no nie do końca to samo. Laravelowy ORM zdaje się implementować Active Record, czyli działa zupełnie inaczej niż EF Core.

1

Ja nie wiem skąd się bierze hejt na PHP. Obecnie piszę API w nim i nie dlatego że jest najlepszy do tego, ale wymaganie jest takie, że rozwiązanie ma pójść na "każdym" hostingu. Jest jakaś alternatywa?

0

PHP jest o tyle dobrze, że można stosować dwa typy typowań statyczne i dynamiczne to statyczne jest ograniczone trochę.

4

Sukcesem PHP nie był język sam w sobie, ale bardzo niski próg wejścia. W PHP najłatwiej można było napisać prostą księgę gości na stronie i kilka innych rzeczy. Z czasem ludzie zaczęli pisać frameworki, fora, aż powstał Wordpress, który w tym wątku nie jest wymieniany dostatecznie często. Wordpress zdominował rynek niskobudżetowych stron internetowych. Co z tego, że Django i RoR były lepszymi frameworkami skoro wystarczyło zapłacić 1000 zł synowi sąsiada i ten mógł stworzyć nam wizytówkę w Wordpressie? Dzisiaj rynek PHP wciąż jest zbyt duży by po prostu się zwinąć.

Hejt na programistów PHP wziął się właśnie z tego, że profesjonaliści przejmowali projekty rozpoczynane przez "gimnazjalistów" i łatali ten kod, sami często robiąc szkolne błędy. Bardzo popularne były ataki w stylu php injection lub sql injection. 15 lat temu większość popularnych witryn internetowych było ofiarami takich ataków bo programiści zamiast używać frameworków do filtrowania danych od użytkowników to pisali własny kod, który to robił. Te wszystkie portale były w większości napisane w PHP.

2

Dlaczego w PHP się pisze szybciej niż w C#? Znalazłem pierwszy lepszy kontroler dla CRUDa w ASP.NET Core i ma on jakieś 60 linii:

No i to jest ten cały problem z porównywaniem. Założmy że np. napisanie obsługi samego requestu HTTP w tzw. RestController w C# by zajmowało 2 razy więcej linijek kodu od tego w PHP. Ale to znaczy że kod w PHP sie 2 razy szybciej pisze? No niekoniecznie, zwłaszcza że jak nie mamy do czynienia z CRUDEM tylko jest logika biznesowa to owe controllery to 5% czy 10% kodu.
Liczba lini kodu, szybkość tworzenia jest związana z architekturą, testami etc nie tylko z językiem programowania

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