[PHP] PHP Unit Test - composer 로 설치 방법 1. composer 명령어로 PHP Unit Test 설치 composer require --dev phpunit/phpunit 5.7 여기서 나는 2018년 1월 기준 phpunit 6.0 버젼이 제일 최신이지만, 5.7 설치 이유는, 6.0 부터는 PHP7만 지원하며 namespace 가 적용되어 기존에 작성한 단위 테스트를 수정해야 하므로 해당 Unit Test 를 써야하는 프로젝트는 6을 사용하고 기존 프로젝트일 경우 5.7 버전을 사용하는 게 좋다고 해서 5.7로 설치 했다. 2. 설치 확인 ./vendor/bin/phpunit --version 3. comoser.json 수정 "autoload": { "psr-4": { "": "application/libraries/" }, "files".. Helloworld!/PHP 2018. 4. 30. 14:02
[PHP] mktime 날짜와 시간에 대한 Unix Timestamp 를 가져오는 함수로 써 다음과 같이 사용하면 된다. mktime(시, 분, 초, 월, 일, 년도); ex) mktime('13', '30', '0', '12', '15', '2016'); //2016년 12월 15일 오후 1시 30분 0초에 대한 Unix timestamp 를 가져옴 Helloworld!/PHP 2016. 12. 15. 10:00
[PHP] PHPStorm 의 북마크(Bookmark) 북마크는 원하는 코드 라인을 저장해두고 빠르게 사용할 수 있도록 하는 기능이다. 사용방법은 다음과 같다. 1. 원하는 라인에서 F11 를 누른다. 그럼 라인넘버가 보이는 곳 옆에 체크표시가된다. 2. 또는 숫자나 문자번호로 북마크를 구분해 저장할 수 있다. 방법은 Ctrl + F11 누른 후 원하는 문자나 숫자를 입력하면 된다. 그럼 다음 이미지처럼 라인넘버가 보이는 곳 옆에 체크표시 대신 선택한 문자나 숫자가 보일 것 이다. 3. 이렇게 저장한 북마크를 보고싶다면 북마크 Shift + F11 키를 누른다. 그럼 다음과 같이 체크만 했을 경우는 비여서 보이고, 숫자나 문자로 북마크 저장했을 경우는 그 문자들이 보인다. 그와 함께 파일명, 북마크한 라인넘버, 소스코드가 미리 보여진다. 선택하면 북마크로 이.. Helloworld!/PHP 2016. 8. 10. 14:55
[PHP] PHPStorm 에서 API 문서보기 남이짜놓은 소스코드를 보다가 (아니면 예전에 내가 한 소스코드를 보다가) 처음 보는 함수가 나오면 php.net 을 통해 함수 레퍼런스를 확인한다. 근데 웹브라우저로 이동해 php.net 을 들어가 매번 함수명을 검색하는 것이 여간 귀찮은 일이 아니다. 그럴때 원하는 함수에 포커스를 두고 Shift + F1 을 누르면 바로 php.net 으로 이동해 포커스해둔 함수를 검색해서 볼 수 있다. 다음과 같이 file_get_contents라는 함수의 API 문서를 보고싶다면 함수명 위에 포커스를 두고 Shift + F1 를 누른다 그럼 이렇게 바로 file_get_contents 관련 API 문서를 확인할 수 있다. API 가 뜨는 웹브라우저를 설정하고 싶다면 환경설정에서 변경해줄 수 있다. File - Se.. Helloworld!/PHP 2016. 8. 10. 11:10
[PHP] 배열에서 제일 큰 값을 가진 value 에 key 값 가져오기 - max, array_keys 우선, first 부터 nth 까지 문자열로 된 key 값에 각각 숫자로 된 value를 가진 배열이 있다. 이때 배열에서 제일 큰 값을 가지고 있는 value 의 key 값을 가지고 오고싶을 땐 다음과 같이 사용하면 된다. $array = array( 0 => 'first', 2 => 'second', /* ... */ 99 => 'nth' ); $max_key = max( array_keys( $array ) ); // 결과 : 99 1. 배열에서 제일 큰 값을 가져오는 건 max 함수를 쓴다. mixed max ( array $values ) 2. 그리고 그 value 에 key 값을 가져올 때는 array_keys 함수를 쓴다 array array_keys ( array $input [, mixe.. Helloworld!/PHP 2016. 7. 21. 16:52
Phpstorm 에서 Mysql 연결하기 Phpstorm 을 사용하다보면 SQL 문에 항상 inspect warning 표시가 되있었다. DB 연결을 안해서 그러는건데 이번에 하면서 DB 연결을 하는 방법을 포스팅해본다. 우선 Phpstorm 우측에 보면 Database 라는 버튼이 있다. 클릭하면 DB Driver 를 세팅할 수 있는 창이 열린다. 초록색의 + 버튼을 눌러 본인의 DB Driver 를 세팅을 한다. 그 이후 자세한 DB 세팅 하는 방법을 알고싶으면 다음 링크를 참고하면 된다.https://confluence.jetbrains.com/display/PhpStorm/Databases+and+SQL+Editor+in+PhpStorm DB 연동이 됐음에도 불구하고 SQL 문에 여전히 inspect warning 표시가 되어있다.사용하.. Helloworld! 2016. 6. 24. 12:41
Phpstorm에서 Spelling Inspection 을 설정하는 방법 코딩을 하다가 원래 있는 단어 같은 경우 오타가 나면 표시가 되는데 회사이름이나, 회사에서만 사용하는 명칭 같은 것들은 사실은 맞지 않은 스팰링이지만Code Inspection 표시가 될 필요가 없을 경우 무시하도록 하고 싶으면 다음과 같이 설정해주면 된다. 위에 제시한 사진처럼 abcd 라는 클래스를 만들려고 하고 앞으로 할 프로젝트에서 많이 사용을 할텐데,계속 abcd는 맞지 않는 단어라고 표시가 되면 다른 Code Inspection 를 볼 때 신경쓰이고 혼동될 수 있다. 1. 우선 Dictionary 파일을 만든다. 본인이 Dictionary 파일을 두고 싶은 위치에 확장자 .dic 을 가진 텍스트 파일을 만든다.예를들어 경로가 /settings/dic/ 이고 파일이름이 mydic.dic 이라고 .. Helloworld! 2016. 6. 17. 16:34
[PHP] PHPUnit #3. Suite 테스트 케이스를 여러개를 만들다보면 테스트 별로 파일(클래스)을 나누어서 관리를 해야할 경우가 생기는데 그렇게 여러 파일들을 만들어 놓은다음 다같이 실행하고 싶을 경우 phpunit 파일명 하나하나 실행하는 것 말고도(물론 디렉터리 통째로 실행을 해도되지만) PHPUnit_Framework_TestSuite 클래스를 통해서 테스트 묶음을 만들 수 있다. require_once "testTest.php"; require_once "dummyTest.php"; class AllTests { public static function suite() { $suite = new PHPUnit_Framework_TestSuite("PHPUnit Framework"); // 테스트할 테스트 클래스를 추가한다. $sui.. Helloworld!/PHP 2016. 6. 7. 15:42
[PHP] 한글이 깨져서 나올 때 - iconv Snoopy 로 HTML 소스를 가져왔는데 소스에 있는 한글들이 깨지는 현상이 발생했다. 이럴때 iconv로 한글 깨짐을 해결할 수 있다. iconv 함수 사용방법은 다음과 같다. iconv("현재 인코딩", "바꿀 인코딩", 바꿀 문자열) 예를들어 utf8 형식으로 되있는 소스파일을 euckr 로 바꾼다면 한글 깨짐 현상이 해결된다 $ex = iconv("utf8", "euckr", $ex); 참고사이트 : http://nsstbg.tistory.com/171 Helloworld!/PHP 2016. 6. 7. 14:41
[PHP] PHPUnit #2. Fixture PHPUnit 에서 설정 코드(Fixture)란, 테스트를 수행할 때 테스트 수행 전 미리 실행되어 있어야할 또는 테스트 수행 후 실행되야할 기본 설정 코드를 의미한다. 대표로 setUp() 과 tearDown()가 있으며 두 메서드는 각 테스트가 수행되기 전과 후에 호출된다. 기본 테스트 케이스 클래스에서는 그냥 빈 메서드이고, 필요한 경우 테스트 케이스용 클래스에 덮어쓰면 된다. 1) setUp() 테스트 메소드(test로 시작하는 메소드들)을 수행하기 전에 항상 setUp() 메소드가 수행된다. 여기에 설정 코드를 넣으면 된다. protected function setUp() { //... } 1) tearDown() 한개의 테스트 메소드가 끝날 때마다 항상 tearDown() 메소드가 호출된다. .. Helloworld!/PHP 2016. 6. 7. 14:33