프로그래밍/PHP 14

php7 시작하기

안정된 최신버전(7.1)을 사용하세요 지금 PHP를 새로 시작하려는 경우, 현재 안정된 버전인 PHP 7.1를 사용하는 것이 좋습니다. PHP 7.1은 최근에 출시되었으며, 오래된 5.x 버전에 비해서 놀라운 많은 새로운 기능이 추가되었습니다. 엔진은 대부분 재작성되어 현재 PHP는 이전 버전들보다 훨씬 빠릅니다. 가까운 기간 동안에는 대부분 PHP 5.x가 사용되는 것을 볼 수 있을텐데, 최신 5.x 버전은 5.6입니다. PHP 5.6도 나쁘지는 않지만 2018년 이후로는 보안 업데이트가 지원되지 않기때문에, 최신 안정버전으로 빨리 업그레이드하는 것이 좋습니다. 하위 호환성 문제가 많지 않기때문에 업그레이드는 정말 간단합니다. 어떤 버전에 함수나 기능이 추가되었는지 잘 모르겠다면 php.net 웹사이트..

프로그래밍/PHP 2018.05.15

PHP에서의 함수형 프로그래밍

PHP는 일급 함수(first-class function)를 지원합니다. 이는 함수가 변수에 할당될 수 있다는 것입니다. 사용자가 정의한 함수나 내장 함수 모두 변수에 의해서 참조될 수 있고 동적으로 호출될 수 있습니다. 함수는 다른 함수의 인자로 전달될 수 있고 함수가 다른 함수를 리턴값으로 리턴하는 것도 가능합니다. 이런 기능을 고차함수(Higher-order function)라고 합니다. 함수가 자기 스스로 다시 호출하는 재귀 호출(Recursion)도 지원하지만, 대부분의 PHP 코드는 재귀보다는 반복(iteration)하는 형태로 작성됩니다. 익명 함수(와 클로저)는 2009년에 발표된 PHP 5.3부터 지원됩니다. PHP 5.4에서는 클로저를 특정 개체의 스코프에 바인딩하는 기능이 추가되었습니..

프로그래밍/PHP 2018.05.15

php7 mysqli 확장으로 db연결

PHP 테스트해보기 위하여 bitnami 설치하여 APM 설치함.설치 시 도구들도 선택하여 추가설치가 가능한데, phpmyadmin도 체크하여 설치 ㅋ 현재 bitnami를 이용하여 설치 된 PHP버전은 7.1 MYSQL은 5.7 이다... mysqli확장 : php5이상에 대응하며 mysql 4.1이상 잘 지원된다고 한다... connect_errno) { die('Connect Error: '.$mysqli->connect_error); } // 쿼리문 전송 if ($result = $mysqli->query('SELECT * FROM `test_tb`')) { echo $result->num_rows.' '; // 레코드 출력 while ($row = $result->fetch_object()) {..

프로그래밍/PHP 2018.04.09

php 인젝션 방어 mysql_real_escape_string

mysql_real_escape_string SQL 명령문에 사용되는 문자열에서 특수 문자를 회피한다. mysql_query() 에 안전하게 입력시키기 위하여 접속된 현재 문자 셑을 고려하여, 회피되지 않은 문자열에서 특수 문자를 회피한다. 바이너리 데이터가 삽입된다면, 이 함수가 반드시 사용되어야 한다. 이미 회피된 데이터에 이 함수를 사용하면 데이터를 두번 회피할 것이다. 이 함수는 \x00, \n, \r, \, ', " and \x1a 등의 문자앞에 백슬래쉬(\)를 추가하는 MySQL의 라이브러리 함수라고 불린다. 이 함수는 약간의 예외를 제외하고 MySQL에 질의를 보내기 전에 데이터를 안전하게 만들기 위해 항상 사용되어져야 한다. 이 함수는 %와 _를 회피하지 않는다. 이것들은 LIKE, GRA..

프로그래밍/PHP 2017.07.12