php
-
LSB(Late Static Binding)Technique/PHP 2016. 12. 21. 22:19
이번 주제는 LSB(Late Static Binding)입니다.PHP 5.3 버전에서부터 도입된 개념입니다. 중요한 부분은 can be used to reference the called class in a context of static inheritance ( 정적 상속의 상황에서 호출전 클래스를 참조 할 수 있다.) More precisely, late static bindings work by storing the class named in the last "non-forwarding call" ( 좀 더 명확히 이야기 하자면 LSB는 최근 비 전송콜의 class이름을 저장한다. ) ㅂ가 매우 중요한 부분 인 것 같습니다. 그럼 예제를 보면서 이야기 해 볼까요 123456789101112131415
-
static, const, memoizationTechnique/PHP 2016. 12. 20. 18:21
1. Static 정적, 공유의 개념static은 변수 또는 메소드 등에 지정할 수 있으며, 메소드에 지정한 경우 객체를 생성하지 않고도 접근이 가능하다.이 정적 메소드 안에서 연산이 이뤄질 때엔 멤버 변수에 접근할 수 없다.즉, static 메소드 안에서 사용되는 변수는 static이어야만 한다.이것이 중요한 룰!static변수는 프로그램이 실행 될 시 단한번 초기화가 된다.그리고 메모리 상에 데이터가 보존되어 그이후 호출은 모두 메모리를 참조하여 접근 하게 된다.1234567891011121314class A{ public static $abc = null; public static function getAbc() { return A::$abc; }} $a1 = new A();$a2 = new A()..
-
1,0 true, falseTechnique/PHP 2016. 12. 7. 18:03
아.. 매번 코드 읽을 때 마다 햇갈려서 적어놔야겟다....ㅂㄷㅂㄷ회사 코드중에 1,0 으로 if 에서 TRUE,FALSE를 체크하는 코드가 있다.이부분 진짜 안좋다고 생각하는데 뭐 여튼 이런식으로 적어둔 부분이 있는데, 이걸 볼때마다 햇갈린다..대체 왜 이런식으로 해놧는지참 ... ㅂㄷㅂㄷ 솔직히 0이 false 이고, 0이 아닌것은 모두 참인 언어도 있고,1,0 으로 if문 제어를 지원안해주는 언어 ( 자바 ) 도 있는데... 프로그래밍을 자바로 시작해서 그런지 너무 햇갈린다.. ㅠㅠㅠ 여튼 PHP니까....정리해두자면.. 1 : TRUE0 : FALSE
-
setcookieTechnique/PHP 2016. 5. 9. 12:16
setcookie 쿠키를 송신함 bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] ) setcookie()는 기타 헤더정보와 함께 송신하는 쿠키를 설정한다. 기타 헤더정보와 같이 쿠키는 스크립트에 따라 어느 출력보다 먼저 송신될 필요가 있다. ( 이것은 HTTP 프로토콜의 규약이다 ) 이나 태그는 물론 공백도 포함, 모든 출력보다도 먼저 이 함수를 호출 하도록 해야만 한다. 한번 쿠키가 송신되면 다음 페이지의 로드로부터는 $_COOKIE 배열에 의해 ..
-
move_uploaded_fileTechnique/PHP 2016. 4. 11. 10:51
move_uploaded_file (PHP 4 >= 4.0.3, PHP 5, PHP 7) 업로드된 파일을 새로운 위치에 이동시킴 bool move_uploaded_file ( string $filename , string $destination ) 이 함수는 filename에 지정된 파일이 ( php의 http post 업로드 구성에 의해 업로드되었단 의미)유효한 업로드 파일인지 아닌지를 확인한다. 그 파일이 유효한 경우, destination에 지정한 파일명에 이동된다. 이러한 확인은 업로드 된 파일에 관하여 아무거나 다 되는 경우에는 그 내용을 유저, 또는 같은 시스템상의 다른 유저에게 조차 악용될 가능성이 있기 때문에 주의해야합니다. 파라메터 filename 업로드 한 파일의 파일명 destinat..
-
file_get_contentsTechnique/PHP 2016. 4. 8. 12:01
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = 0 [, int $maxlen ]]]] ) 이 함수는 file()과 닮아 있지만, offset으로 지정한 장소에서 부터 시작해 maxlen 바이트 까지만 파일 내용을 문자열로 읽어들이는 점이 다릅니다. 실패한 경우 file_get_contens()와 FALSE를 반환합니다. file_get_contents()는 파일의 내용을 문자열로 읽는 방법으로서 바람직합니다. 혹시 OS가 서포트하고 있다면 퍼포먼스 상향을 위하여 메모리 맵핑 기술이 사용됩니다. 주의 : 공백과 같은 특수한 문자를 가지고 있는 UR..
-
[ 펌 ] Apache 와 Nginx 의 PHP 성능 비교Technique/ETC 2015. 12. 29. 15:20
이벤트 방식인 Nginx 는 프로세스/쓰레드 방식인 Apache 에 비해 월등한 성능을 보이는 것으로 알려져 있다. 실제로 Static 파일들 CS, JSS 의 경우엔 두드러져 보이는데, 그렇다면 CGI 도 이에 해당되는지 특히 PHP 의 경우를 예로 들어 살펴본다. 내용 PHP PHP 를 웹으로 서빙하는 케이스는 크게 3 종류로 나눌 수 있다. PHP Built-in 웹 서버Apache w/ mod_phpNginx w/ FastCGI 1번의 경우 개발시에 웹 서버를 별도로 셋팅하기 번거로울 경우 쉽게 사용할 수 있는 방법이고, 실제로 흔히 사용한다. 그러나 편의상 사용되며 성능과는 거리가 멀다. 따라서 여기서는 더 이상 언급하지 않기로 한다. 2번의 경우 10 여년 이상 사용해온 전통적인 방식이며 LA..
-
spl_autoload_registerTechnique/PHP 2015. 12. 15. 10:02
bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] ) 지정한 함수를 spl이 제공하는 __autoload큐에 등록합니다.큐가 아직 액티브하지 않은 경우에는 우선 액티브 합니다. 혹시 당신의 코드안에 __autoload함수가 존재한다면 그것을 명시적으로 __autoload 큐에 등록하지 않으면 안됩니다.왜냐하면 spl_autoload_register는 spl_autoload 또는 spl_autoload_call에 따라 __autoload함수의 엔진캐쉬를 효율적으로 옮겨 놓기 때문입니다.복수의 autoload함수가 필요로 하는 경우에도 spl_autoload_reg..