모던 PHP란 무엇인가? > 개발관련
개발관련

모던 PHP란 무엇인가?

조회 334회 댓글 0건
  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기

모던 PHP는?

일반적으로 PHP 5.3(2009년) 이후를 가리키는데 이 버전부터 네임스페이스, 클로저, 늦은 정적 바인딩 등 현대적인 기능이 도입되면서 객체지향 프로그래밍과 함수형 프로그래밍 요소가 강화되었습니다. 

특히 PHP 7.0(2015년)부터는 성능 개선(Zend Engine 3.0)과 새로운 기능(타입 선언, null 병합 연산자 등)이 추가되어 모던 PHP의 기준으로 자주 언급 되고 최신 PHP 8.0(2020년) 이상으로, JIT, 유니온 타입, 속성(properties) 등 고급 기능이 포함됩니다.


- PHP 5.3 (2009년): 모던 PHP의 시작점.

- PHP 7.0 (2015년): 성능과 기능 면에서 큰 도약.

- PHP 8.0+ (2020년~): 현재 모던 PHP의 표준.


그리고 PHP로 시작한 페이스북은 JIT를 사용하지 않은 PHP7고의 성능대결?이 있었고 지금은 다른길을 가고 있습니다.

이 때문인일까요? PHP는 6버전이 없는데... 찾아보니 페북의 Hack과의 경쟁 문제는 아니라고 합니다.

더 이상 페이스북(현 메타) HHVM에서 PHP는 지원하지 아니하는 것으로 알려져 있습니다. 


쓰다보니 약간 관계 없을 것을 쓰게 되었는데 통상 범용적인 언어를 가지고 본인 회사에 맞게 쓸데 없는 것은 버리고 꼭 필요한것만 넣고 기능 추가 하고 그렇게 발전해 가면 범용적인 언어보다 속도가 떨어지는것이 이상한 일일것입니다. 흔히 사용하는 윈도우만 봐도 커스텀할때 쓸데 없는것 올라오지 못하도록 막는것 부터 시작하는데 가장 쉬운 자원절약이죠


쉽게 말하면 요즘에 새로나온 기능으로 PHP 프로그램 하고 있냐 라고 말하는 것입니다.

그런데 말입니다. 요즘 새로나온 라이브러리가 이것을 사용하기 때문에 안한다고 말 하기도 그런것이 사용방법을 보면 그렇게 써야 하기 때문에 쓰기 마련입니다.


클래스만으로 만든 패키지나 CMS 같은것 보면 아.... 부모찾아 잘못된 원인을 찾는데 그렇게 많은 시간을 쓸 필요가 있나

함수로 만들면 저런짓은 안할 텐데 ....



 

상속에 의한 재사용성도 함수로 만든것도 가능 합니다.

이걸 재사용성 이라고 하기엔 그렇지만 핵심은 기능확장이나 강화같은것을 하는 것으로 불가능 하지 않다는 것입니다.

기존함수명은 건드리지 않고 파라미터를 통해서 가능하지요. 파라미터 받은 것을 새로운 함수에 그대로 넘기는 방식으로 만들어도 되고

파라미터 타입을 보통 주지 않기 때문에 더 많은 파라미터는 배열로 받은 다음 파라미터가 배열이다 그렇다면 특정 연관배열명이 있는지 확인하고 조건 처리 하는 방식으로 얼마든지 가능 합니다.


설계라는 것은 어떤것이 있는지 알고는 범위내에서 확장도 하고 기획도 하고 그런것이기 때문에 항상 새로운 버전이 생기기 마련입니다.

미래에 어떤일이 일어날지 알면 설계 단계에서 넣겠지만 현실은 그렇지 않으니 그렇지요.

우리가 사용하는 윈도만 봐도 그렇듯이 주기적으로 처음부터 완전히 새로운 코드로 작성되어 성능을 높이는 방법을 선택 합니다.


그리고 상황에 따라 답이 달라지는 것이기 때문에 어떤것이 답이다라고 말하는 것은 아닙니다.

전 클래스만 사용하다가 함수위주로 사용하면 옷을 하나 입지 않은 느낌이 들던데요 캡슐화라고 하지요.

하지만 쉬운것을 어렵게 하지 말자 입니다.


  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기
전체 233건 1 페이지
  • profile_image 자세한 내용은 아래 영상 보시면 잘 나와 있습니다.모두의창업, 유출 사고? 무슨 일인가. 문제있는 개발 패턴들 결론은 간단한데 백엔드에 불편해도 반드시 필요한것만 요청하고 보내주면 된다.아래에서 보통이란것은 대체로 그랬다는 것입니다.그리고 사람은 예전에 사용하던 방식하면 구닥다리 라고 생각하는 잘못된 편견을 가지고 있을까요 없을까요?▷ 예전 개발 방식은- 보통 백엔드에서 모든 것을 만들어 보내주는 방식▷ 요즘은 - 다 그런것은 아니지만- 리엑트 같은 프론트엔드 개발자가 별도 있어서 서버에서 중요데이터만 받아서 보여주는 방식- 여기서 문제가 생긴것인데 프론트엔드와 백엔드 개발자간 데이터 필요한것만 보내지 않고 다…
  • profile_image RealVNC는 원클릭 접속할 수 있도록 편리하게 되어 있는데 UltraVNC 는 뷰어 클릭해서 등록된 서버 선택해야 하는 불편함이 있습니다.이 부분을 아래와 같은 방법으로 일부 해소가 가능 합니다.1) C:\Users\로그인계정\AppData\Roaming\UltraVNC 파일을 복사 바탕화면에 두고 사용원하는 접속 서버 .vnc 파일을 바탕화면으로 복사 해서 원클릭 하여 사용하면 됩니다.중요한 부분이 있는데 .vnc 파일을 열어서 8bit=1 부분으로 되어 있으면 0으로 바꿔주세요.화면에 표현하지 못하는 경우도 있고 그렇기 때문에 .vnc 파일 클릭하는 경우만 파란색으로 나오고 이상하다면 …
  • profile_image 코드자동완성 테스트한 vscode용 확장 프로그램 continue 다운로드 사용자가 엄청나게 많은데 ... 결론 부터 말하면 실패입니다. 아래 설정이 약간 잘못 되었을수 있겠지만.채팅은 잘 되는데 코드 자동완성이 잘 안됩니다.하지만 테스트 하고 싶은분 그리고 제가 나중에 다시 테스트 해볼 경우 필요할 수 있어 올리는 글입니다. 위 이미지에서 Main Config 라고 마우스 올리면 그 옆에 톱니가 나오는데 그걸 클릭해야 합니다.잘못 만들어져서 화면이 겹치는 문제가 있습니다.제 설정은 위 이미지에 대한것은 아래와 같습니다.name: lmstudioversion: 1.0.0schema: v1models:&…
  • profile_image 내가 준 먹이를 소화해서 다른 사용자에게 주면 곤란한 문제가 생길것 같아 직접 이용해 보기로 했습니다.결론 부터 말하면 잘하는 인공두뇌에 먹이 주면서 사용하는것이 낳으니 테스트 해보고 싶으신 분들을 위해서 남기는 글 입니다.사용한 확장 프로그램    twinny - AI Code Completion and Chat    Identifier: rjmacarthy.twinny 위처럼 설정하고 자신에 맞게 모델이나 IP주소 같은것만 변경해주면 됩니다.전 UI가 좋은 LM스튜디오 사용.이걸 빠르게 사용하려면 애플 실리콘 M5 Max 노트북 16인치 추천합니다.램은 최소 64G 가능하…
  • profile_image 무슨일인지 업그레이드 실패까지 생겼는데.... 왠지 모르지만 안되는게 참 많습니다.이런 경우 다시 설치하면 되긴 합니다.아마도 추측은 초기 설치 할 때 전체 사용자 선택을 해서 설치 했는데 업그레이드는 현재 유저 기준으로 해서 그런것이 아닌가 싶습니다. old 라고 된것 삭제 삭제하고new_ 이렇게된것 new_ 삭제하고 다시 실행하고 vscode에서 Help > Check for Updates 해주고 다시 시작하면 됩니다.이때 작업표시줄에 고정한게 있으면 그것 클릭하지 말고(삭제하고) 새로 설치된 아이콘 클릭해서 실행 하면됩니다.
  • profile_image vscode 사용하면 안되는것이 참 많지요.잘 되던것도 안되고 무료가 이런게 문제인데... 유료로 갈아 타려 했는데 매달 비용발생 때문에 ...어떤 것은 그것을 또 배워야 되서 할일도 못하는데 공부해야 되고 ...우선 그때 그때 수정해서 사용합니다.▷ 파일이 열리지 않는 원인은?natizyskunk SFTP 확장(1.16.3)에 내장된 구버전 ssh2 라이브러리가 Node.js의 util 모듈에서 isDate 함수를 가져다 쓰는데최신 VS Code 1.123.0이 이전에 제공되던 'isDate' 함수를 제거하면서 잘 작동하던 프로그램에 문제가 발생그래서 SFTP 연결(목록 조회)은 되지만 실제로 파일을 열거나 다운로드할…
  • profile_image 기본적인 특징은 아래와 같으며 사용 가능한지 어떤지 테스트 하면서 정리(테스트) 한것을 다음에 필요 할 수 있어 기록해 둡니다.이 파일 디비는 동시 처리하는데 문제가 있어 동시 처리 사용하고 싶으면 MySQL 같은 것 사용해야 됩니다.이게 MySQL과 명령이 비슷한것인가요? ANSI SQL 이라서 그런가요? 후자 인데요.SQL 문법은 ANSI SQL 나머지 CLI 도구 명령들은 각 DBMS에 따라 다른 경우라고 보면 됨.  - 파일 하나가 곧 데이터베이스 (.db, .sqlite). 그렇기 때문에 DBMS서버 필요 없는 경우 유용함.- 서버 없이 동작하는 경량 임베디드 RDBMS- Android, iO…

상업적 이용 금지. 컨텐츠는 개인 용도로만 사용이 가능 합니다.