https://sir.kr/cm_free/1689028  이 글보고 php에서 함수가 더 쓰기편하나 생각하다가 아닌거 같더라고요.

 

 

15년전 php 에 네임스페이스가 도입된 이후로

 

use 구문을 써서 함수들을 가져와서 써야하는데요.

(물론 네임스페이스를 전혀안쓰고 할 수도있지만 함수이름 충돌때문이라도 쓰게되죠)

 

근데 php는 객체지향쪽은 지원잘해주는데 함수는 오토로딩도 아직도 안되서 일일이 include 해줘야되고

다른언어들은  . 표기로 다 같은데  php는 어떤건 ->   함수들은 \  쓰고 제각각인데다가

런타임 상수로 함수전달하는것도 불가능하죠.

 

 

이건뭐 객체지향만 쓰라고 다른건 불편하게 해놓은건지 새로 추가되는 기능도 거의다 클래스쪽입니다

 

ㅠ 생각할 수록 PHP 말고 TS 를 쓰고싶어지는 하루네요.

PHP 는 파면 팔수록 더 하기싫어지는...

  • profile
    PHP로 꼭 FP를 해야겠다면 함수들을 클래스의 static 메서드로 넣고, 클래스를 모듈 대용으로 사용하세요.
  • profile

    네, 그냥 객체지향 한 놈만 패기로 한 겁니다.

    Java나 C#처럼 상업적으로 성공한 언어에서 충분히 검증된 패턴이고, 덕분에 다른 언어에서 넘어오는 개발자들이 이해하는 데도 크게 무리는 없으니까요. 나름 안전한 선택이었다고 봅니다.

    솔직히 네임스페이스 안에 함수만 덜렁 선언해 놓고, 그걸 끌어올 수 있도록 허용한 것은 일종의 캐붕(캐릭터 붕괴)이었다고 생각합니다. 객체지향으로 밀고 가기로 했으면 일관성이 있어야죠. 클래스 밖에 함수만 따로 나와 있으면 어떡합니까? 컨셉에 맞지 않는 기능을 만들어 놓으니 당연히 문법도 꼬이고 어정쩡해질 수밖에요. 이런 일관성없는 기능은 유저들이 안 써줘서 빨리 사장되면 좋겠습니다.

    그런데 뭐, PHP가 예전부터 일관성있는 컨셉을 유지하는 데 딱히 신경쓰는 언어는 아니잖아요? 객체지향이 메인이긴 하지만, 서로 이어지지 않는 외전이 좀 많죠. ㅎㅎ

  • profile ?

    저번 회사도 그렇고 가끔보면 php 쓰지만 객체지향 싫어하는분이 좀 계셔서요.
    그래서 객체는 못쓰게 되는 일도 생기고 ㅠ 함수도 어째야할지 그렇고...

  • ? profile

    진짜로 함수형 프로그래밍(FP)을 하겠다는 분이 있다면 존중합니다.

     

    반면, 함수형도 아니고 그냥 흔한 절차지향에 전역함수 범벅으로 쓰겠다는 개발자는 객체지향 배우기 싫다고 땡깡 부리는 것으로밖에 보이지 않습니다.

    좋든 싫든 대한민국 개발 시장은 자바로 시작해서 자바로 끝나죠. 돈 벌려면 객체지향 배우는 수밖에 없습니다. 객체지향을 쓸 수 없는 어떤 종교적인 신념이라도 있어서 PHP로 망명 오신 귀한 분이라면 모를까, 그냥 업계 표준을 배우기가 귀찮다면 나가서 치킨집 차려야죠. static으로 도배를 하더라도 일단 class 안에 쑤셔넣던가...

  • profile
    php 쓰지말고 ts 로 node 서버 돌리면 문제가 다 해결되겠군요.