PHP+phalcon으로 웹 애플리케이션 만들기
【환경】
카테고리
값
os
windows 10 home 64bit
php
PHP 7.3.5( ZTS MSVC15 (Visual C++ 2017) x64 )
1. phalcon
PHP 웹 프레임워크phalcon를 사용해 봅니다.
1-(1). 다운로드
1-(2). 설치
다운로드한 파일의 압축을 풀고 "php_phalcon.dll"을 "c:\php\ext"에 복사합니다.
1-(3). php.ini 편집
php.ini를 열고 확장에 다음을 추가합니다.
extension=php_phalcon.dll
2. phalcon-devtools
Phalcon의 개발 도구입니다. Phalcon에서 개발하는 경우 이 개발 도구를 사용합니다.
2-(1). 다운로드
phalcon-devtools
2-(2). 패스를 통과
다운로드한 phalcon-devtools의 디렉토리를 환경 변수의 Path에 추가합니다.
C:\data\php\phalcon\phalcon-devtools
2-(3). 프로젝트를 만듭니다.
phalcon 명령을 사용하여 프로젝트를 만듭니다.
phalcon project --name testprj1 --enable-webtools
cd testprj1
2-(4). 움직여 보자.
내장 웹 서버에서 프로젝트를 시작하고 브라우저에서 확인하십시오.
php -S localhost:8000 -t public .htrouter.php
또는 다음 명령으로도 시작할 수 있습니다.
phalcon serve
2-(5). 정지
Ctrl-C
3. INVO
PHP WebFramework "Phalcon"프로젝트 템플릿입니다. dev-tools의 project 명령으로 프로젝트를 작성해도 좋지만, 이것은 인증 등의 기능이 미리 장비되어 있으므로, 이 템플릿을 사용하는 것이 보다 효율적입니다. 여기도 설치합니다.
3-(1). 설치
3-(1)-1.다운로드
3-(1)-2. 설치
다운로드한 파일을 적당한 폴더에 압축을 풀기만 하면 됩니다.
3-(1)-3. DB 설정
3-(1)-3-1. 데이터베이스 만들기
프로젝트가 사용하는 데이터베이스를 작성합니다. 다음은 MySQL을 사용하는 경우.
MySQL에 연결하고 데이터베이스를 만듭니다. 데이터베이스 이름은 "invodb"입니다.
create database invodb
3-(1)-3-2. 프로젝트를 데이터베이스에 연결할 수 있도록 한다.
app\config\config.ini를 열고 database의 연결 정보를 편집합니다.
[database]
adapter = Mysql
host = localhost
username = testuser
password = ************************
dbname = invodb
charset = utf8
3-(1)-3-3. INVO의 테이블이나 데이터를 등록한다.
명령 프롬프트에서 다음 명령을 실행하여 테이블과 데이터를 등록합니다.
mysql -u testuser -p ***************** -D invodb < C:\data\php\phalcon\invo-master\schemas\invo.sql
3-(1)-3-4. 동작 확인
php -S localhost:8000 -t public .htrouter.php
4. INVO에 CRUD를 추가한다.
phalcon devtools에는 Ruby on Rails와 elixir의 Phoenix와 마찬가지로 crud를 자동으로 생성하는 명령이 장착되어 있습니다. INVO에 CRUD를 추가해 보겠습니다.
4-1. 데이터베이스에 테이블을 추가합니다.
CREATE TABLE `department` (
`deptcode` varchar(6) NOT NULL,
`deptname` varchar(255) NOT NULL,
PRIMARY KEY (`deptcode`)
)
4-2. "scaffold"를 실행한다.
INVO의 루트 폴더로 이동하여 다음 명령을 실행합니다.
phalcon scaffold department --template-engine=volt
4-3. 프로젝트 폴더/파일 구성
다음과 같은 폴더/파일이 추가됩니다.
└─app
・・・・・
├─controllers
│ DepartmentController.php
・・・・・
├─models
│ Department.php
・・・・・
└─views
├─department
│ edit.volt
│ index.volt
│ new.volt
│ search.volt
・・・・・
└─layouts
department.volt
・・・・・
5. 추가한 CRUD를 INVO에서 호출합니다.
수정할 파일이지만 다음 파일입니다.
5-(1). app\library\Elements.php
navibar에 "department"의 crud를 추가합니다.
class Elements extends Component
{
private $_headerMenu = [
'navbar-left' => [
// <-- 追加
'department' => [
'caption' => 'Department',
'action' => 'index'
],
// --> ここまで
5-(2). app\plugins\SecurityPlugin.php
보안 레벨을 설정합니다.
・・・
class SecurityPlugin extends Plugin
{
//・・・
public function getAcl()
{
// このif文はコメントしないと動かない。対応する}もコメントしてください。
// if (!isset($this->persistent->acl)) {
//・・・
$privateResources = [
// <-- 追加
'department' => ['index', 'search', 'new', 'edit', 'save', 'create', 'delete'],
// --> ここまで
//・・・
5-(3). 확인
WEB 서버를 시작하고 브라우저에서 확인해 봅시다.
phalcon serve
HTML은 일본어화 등의 미조정이 필요합니다만, 테이블만 등록하면 CRUD를 간단하게 구현할 수 있습니다.
PHP로 개발하면 Phalcon은 꽤 좋은 느낌입니다.
참고 사이트
웹 앱 개발에 최적! 2019년 추천 PHP 프레임워크 10선
Phalcon Devtools를 사용한 MVC 프로젝트 작성부터 HelloWorld까지
Reference
이 문제에 관하여(PHP+phalcon으로 웹 애플리케이션 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t-iguchi/items/1eaec58d7ae29dd2669b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)