PHP

ferdzo(hacker) :)

Македонче
Член од
19 април 2013
Мислења
115
Поени од реакции
14
Јас сакам во оваа тема да се разговара околу PHP. Повќето знаеете што е а и тие што не знаете еве ви подлу прочитајте

PHP
претставува рефлективенпрограмски јазик со отворен изворен код. Првобитно бил замислен како алатка за креирање динамички веб апликации кои се извршуваат на серверската страна. Кратенката означува PHP: Hypertext Preprocessor (што е рекурзивен акроним , кратенка чие име ја содржи самата кратенка и обично се изговара како пе-ха-пе, додека пак, на англиски се изговата пи-ејч-пи).

Јас лично го немам научено сакам да седнам да го учам слегов некои книги на англиски и не ме бендисват.
 
Член од
7 јануари 2008
Мислења
5.366
Поени од реакции
804
Јас сакам во оваа тема да се разговара околу PHP. Повќето знаеете што е а и тие што не знаете еве ви подлу прочитајте
PHP претставува рефлективенпрограмски јазик со отворен изворен код. Првобитно бил замислен како алатка за креирање динамички веб апликации кои се извршуваат на серверската страна. Кратенката означува PHP: Hypertext Preprocessor (што е рекурзивен акроним , кратенка чие име ја содржи самата кратенка и обично се изговара како пе-ха-пе, додека пак, на англиски се изговата пи-ејч-пи).

Јас лично го немам научено сакам да седнам да го учам слегов некои книги на англиски и не ме бендисват.
Прво започни со овој основен туторијал
http://www.lynda.com/MySQL-tutorials/PHP-MySQL-Essential-Training/119003-2.html?srchtrk=index:1 linktypeid:2 q:PHP page:1 s:relevance sa:true producttypeid:2

па премини на advanced туторијал
http://www.lynda.com/PHP-tutorials/php-with-OOP-beyond-the-basics/653-2.html?srchtrk=index:1 linktypeid:2 q:PHP page:1 s:relevance sa:true producttypeid:2

тек после почни со објектно ориентирано програмирање во php
http://www.lynda.com/PHP-tutorials/Object-Oriented-Programming-PHP/107953-2.html?srchtrk=index:1 linktypeid:2 q:PHP page:1 s:relevance sa:true producttypeid:2

за да на крај се префрлиш на MVC
Codeigniter :
http://www.lynda.com/CodeIgniter-tutorials/Up-Running-PHP-CodeIgniter/126122-2.html?srchtrk=index:1 linktypeid:2 q:PHP page:1 s:relevance sa:true producttypeid:2

CakePHP
http://www.lynda.com/CakePHP-tutorials/Up-Running-CakePHP/126123-2.html?srchtrk=index:1 linktypeid:2 q:PHP page:1 s:relevance sa:true producttypeid:2
 
Член од
29 јуни 2014
Мислења
25.737
Поени од реакции
42.329
Ларавел е најлесен за сфаќање. Све во еден фрејмворк. Или .Нет за C#. Модел Вју Контролер во едно. Јас на времето Реакт учев и ништо не разбирав. Погрешен е тој пристап да учиш јаваскрипт од старт. Башка што е глуп јазикот. Денес да би учел од нула скроз би го игнорирал како почетник. Чат ГПТ за учење е исто екстра алатка кој сака да научи.
 

jamajka

mode: Calm
Член од
28 април 2007
Мислења
19.525
Поени од реакции
27.343
Ларавел е најлесен за сфаќање. Све во еден фрејмворк. Или .Нет за C#. Модел Вју Контролер во едно. Јас на времето Реакт учев и ништо не разбирав. Погрешен е тој пристап да учиш јаваскрипт од старт. Башка што е глуп јазикот. Денес да би учел од нула скроз би го игнорирал како почетник. Чат ГПТ за учење е исто екстра алатка кој сака да научи.
Ларавел го напишал некој тип кој од јава се префрлил на PHP. Иначе PHP ти е најбољи јазик што постои. Уствари не е јазик туку е уметност. A frontend javascript (ванила) ти е најинтересен јазик.
 
Z

zmej gorjanin

Гостин
Ларавел го напишал некој тип кој од јава се префрлил во PHP. Иначе PHP ти е најбољи јазик што постои. Уствари не е јазик туку е уметност.
.NET, а инспирација му бил Rails и авторот со неговите принципи за елегантен и убав код во кој секој дев би се заљубил, синтакса која ќе потсеќа на човечки јазик и дури и да тотално технички неук човек кога ќе го види кодот да знае што се дешава. Ларавел е пред се фрејмворк кој им го олеснува животот на програмерите, а после е се друго. Се кладам дека од сите веб фрејмворци, да ги собереме сите на купче, никој нема екосфера ко Ларавел и со ниту еден фрејмворк не би можел да исшипуваш готовоа апликација побргу отколку со Ларавел. А и сега ова со Ларавел Клауд ќе биде врвот, ќе го уништат Vercel.
 

jamajka

mode: Calm
Член од
28 април 2007
Мислења
19.525
Поени од реакции
27.343
.NET, а инспирација му бил Rails и авторот со неговите принципи за елегантен и убав код во кој секој дев би се заљубил, синтакса која ќе потсеќа на човечки јазик и дури и да тотално технички неук човек кога ќе го види кодот да знае што се дешава. Ларавел е пред се фрејмворк кој им го олеснува животот на програмерите, а после е се друго. Се кладам дека од сите веб фрејмворци, да ги собереме сите на купче, никој нема екосфера ко Ларавел и со ниту еден фрејмворк не би можел да исшипуваш готовоа апликација побргу отколку со Ларавел. А и сега ова со Ларавел Клауд ќе биде врвот, ќе го уништат Vercel.
Голема грешка ми е што не го научив Ларавел, ама имав некоја одбивност на времето. Да ми беше работа ларавел ќе го научев лесно, ама пошто работев ванила, некако не ми се учеше без причина. А сега веќе скоро и да не куцам, само некои сложени заебанции. Генерално да знаев Ларавел, многу заебанции со кои се соочуваме сега, немаше да ги имаме.
 
Z

zmej gorjanin

Гостин
Голема грешка ми е што не го научив Ларавел, ама имав некоја одбивност на времето. Да ми беше работа ларавел ќе го научев лесно, ама пошто работев ванила, некако не ми се учеше без причина. А сега веќе скоро и да не куцам, само некои сложени заебанции. Генерално да знаев Ларавел, многу заебанции со кои се соочуваме сега, немаше да ги имаме.
Абе се се прави, предноста со Ларавел е што хевилифтингот го крие позади абстракции, па делува све фино и просто.

А што мака имаш?
 
Z

zmej gorjanin

Гостин

Денес имаше release на PHP 8.4

Новини во јазикот:

1. Property hooks - место да се дефинираат посебно пропертиња на класа, посебно гетер и сетер методи за тие пропертиња, имаме 3 в едно

PHP:
class BookViewModel
{
    public function __construct(
        private array $authors,
    ) {}

    public string $credits {
        get {
            return implode(', ', array_map(
                fn (Author $author) => $author->name,
                $this->authors,
            ));
        }
    }
    
    public Author $mainAuthor {
        set (Author $mainAuthor) {
            $this->authors[] = $mainAuthor;
            $this->mainAuthor = $mainAuthor;
        }
        
        get => $this->mainAuthor;
    }
}
се елиминира многу boilerplate и кодот е поелегантен

2. Asymmetric visibility - од сега за гет пропертито може да се дефинира ко public, а за сет ко private и protected

PHP:
class BookViewModel
{
    public private(set) Author $author;
}
3. Директно повикување на метод од класа при инстанцирање објект без употреба на загради

место ова

PHP:
$name = (new ReflectionClass($objectOrClass))->getShortName();
сега го имаме ова

PHP:
$name = new ReflectionClass($objectOrClass)->getShortName();
4. array_find() - многу корисна функција која на некој начин е спецификација на array_filter(). Првиот аргумент е низата, вториот аргумент е колбек функција, у суштина работи исто ко array_filter() разликата е што ќе ти ја врати првата вредност за точниот услов од колбекот, додека array_filter() ќе ти ги врати сите елементи. Има и array_find_key(), array_find_any(), array_find_all() - првата ќе ти го врати клучот место вредноста, втората ќе врати булиан дали било кој елемент од низата го исполнува условот, третата ќе ти врати булиан дали сите елементи го исполнуваат условот од колбекот.

5. Implicit nullable types deprecated

Ова не

PHP:
function save(Book $book = null) {}
Ова да

PHP:
function save(?Book $book = null) {}
мора експлицитно да се означи аргументот со прашалник дека е nullable

6. New HTML5 support

Ова е way overdue, нова нативна класа која правилно парсира HTML5

PHP:
$doc = \Dom\HTMLDocument::createFromString($contents);
7. Object API for BCMath

објектно ориентиран код за BCMath екстензијата

PHP:
use BCMath\Number;
 
$num = new Number('1');
$num2 = new Number('2');
$result = $num + $num2;
 
$result->value; // '3'
 

Jax Rebel

Navajo Rider
Член од
6 јули 2008
Мислења
5.264
Поени од реакции
2.261

Денес имаше release на PHP 8.4

Новини во јазикот:

1. Property hooks - место да се дефинираат посебно пропертиња на класа, посебно гетер и сетер методи за тие пропертиња, имаме 3 в едно

PHP:
class BookViewModel
{
    public function __construct(
        private array $authors,
    ) {}

    public string $credits {
        get {
            return implode(', ', array_map(
                fn (Author $author) => $author->name,
                $this->authors,
            ));
        }
    }
   
    public Author $mainAuthor {
        set (Author $mainAuthor) {
            $this->authors[] = $mainAuthor;
            $this->mainAuthor = $mainAuthor;
        }
       
        get => $this->mainAuthor;
    }
}
се елиминира многу boilerplate и кодот е поелегантен
Број 1 е толку глупо што ми се повраќа. Многу подобро е експлицитно да се дефинираат својства, гетер и сетери, може и динамички гетери и сетери за тривијални работи. Кодот ваков испреплетен потсеќа на некој лош јаваскрипт што го пишувал џуниорец. Не знаеш што е метод, што е својство, што е податочен тип. Ова е мое лично мислење.
 
Z

zmej gorjanin

Гостин
Број 1 е толку глупо што ми се повраќа. Многу подобро е експлицитно да се дефинираат својства, гетер и сетери, може и динамички гетери и сетери за тривијални работи. Кодот ваков испреплетен потсеќа на некој лош јаваскрипт што го пишувал џуниорец. Не знаеш што е метод, што е својство, што е податочен тип. Ова е мое лично мислење.
Најдобра работа кај PHP е што имаш backwards compatibility за се, така што и експлицитното дефинирање си останува ако тоа преферираш, ова е syntactic sugar .

Динамички методи и пропертиња се тргнати од 8.2. Веројатно мислиш на overloading или __get() и __set() (користње на ова е у суштина многу лоша пракса особено ако се рабти за пропертиња со private и protected scope кои можеш да ги читаш и менуваш во глобален нејмспејс и со тоа го кршиш цел принцип на енкапсулација).
 
Последно уредено од модератор:
Член од
4 август 2012
Мислења
160
Поени од реакции
57
Што мислите дали е паметно да се учи PHP/Laravel (2024/2025) и дали сеуште има можности за вработување кај нас? Прашувам за себе, ми делува дека ЈavaScript development пазарот на труд кај нас, а и секаде е презаситен и тешко се наоѓа работа... плус смачено ми е веќе од JS фрејмворкс
 

Kajgana Shop

На врв Bottom