ThinkPHP5 빠른 시작 방법 소개. 다운로드
다운로드 주소 : http://www.thinkphp.cn/
이번에는 thinkphp5를 이용해서 github을 이용해서 설치해봤습니다.
Github
애플리케이션 프로젝트: https://github.com/top-think/think
핵심 프레임워크: https://github.com/top-think/framework
추가:
Code Cloud:
애플리케이션 프로젝트: https://git.oschina.net/liuThinkPHP5 빠른 시작 방법 소개ThinkPHP5 빠른 시작 방법 소개st/thinkphp5.git
핵심 프레임워크: https://git.oschina.net/liuThinkPHP5 빠른 시작 방법 소개ThinkPHP5 빠른 시작 방법 소개st/framework.git
코딩:
애플리케이션 프로젝트: https://git.coding net. /liuThinkPHP5 빠른 시작 방법 소개ThinkPHP5 빠른 시작 방법 소개st/thinkphp5.git
코어 프레임워크: https://git.coding.net/liuThinkPHP5 빠른 시작 방법 소개ThinkPHP5 빠른 시작 방법 소개st/framework.git
다운로드된 디렉터리:
tp5 ├─application 应用目录 ├─extend 扩展类库目录(可定义) ├─public 网站对外访问目录 ├─runtime 运行时目录(可定义) ├─vendor 第三方类库目录(Composer) ├─thinkphp 框架核心目录 ├─build.php 自动生成定义文件(参考) ├─composer.json Composer定义文件 ├─LICENSE.txt 授权说明文件 ├─README.md README 文件 ├─think 命令行工具入口
코어 프레임워크 디렉터리의 구조는 다음과 같습니다.
├─thinkphp 框架系统目录 │ ├─lang 语言包目录 │ ├─library 框架核心类库目录 │ │ ├─think think 类库包目录 │ │ └─traits 系统 traits 目录 │ ├─tpl 系统模板目录 │ │ │ ├─.htaccess 用于 apache 的重写 │ ├─.travis.yml CI 定义文件 │ ├─base.php 框架基础文件 │ ├─composer.json composer 定义文件 │ ├─console.php 控制台入口文件 │ ├─convention.php 惯例配置文件 │ ├─helper.php 助手函数文件(可选) │ ├─LICENSE.txt 授权说明文件 │ ├─phpunit.xml 单元测试配置文件 │ ├─README.md README 文件 │ └─start.php 框架引导文件
Kali와 함께 제공되는 apacheThinkPHP5 빠른 시작 방법 소개 서버를 사용하고 있습니다. 시작하려면 service apacheThinkPHP5 빠른 시작 방법 소개 start
를 사용하여 서버 실행 디렉터리에 넣어야 합니다. : service apacheThinkPHP5 빠른 시작 방법 소개 start
启动,需要把git下来的整个项目放到服务器运行目录下,linux默认是:
/var/www/html
然后在浏览器端输入:http://localhost/tp5/public/
即可看到欢迎页面:
如果你不想安装任何 WEB 服务器,也可以直接使用PHP自带的 WebServer ,并且运行 router.php 来运行测试。
进入命令行,进入 tp5/public 目录后,输入如下命令:
php -S localhost:8888 router.php
接下来可以直接访问
http://localhost:8888
我们关注最多的就是应用目录:
├─application 应用目录(可设置) │ ├─index 模块目录(可更改) │ │ ├─config.php 模块配置文件 │ │ ├─common.php 模块公共文件 │ │ ├─controller 控制器目录 │ │ ├─model 模型目录 │ │ └─view 视图目录 │ │ │ ├─command.php 命令行工具配置文件 │ ├─common.php 应用公共文件 │ ├─config.php 应用配置文件 │ ├─tags.php 应用行为扩展定义文件 │ ├─database.php 数据库配置文件 │ └─route.php 路由配置文件
5.0版本采用模块化的设计架构,默认的应用目录下面只有一个 index 模块目录,如果要添加新的模块可以使用控制台命令来生成。切换到命令行模式下,进入到应用根目录(tp5下面)并执行如下指令:
php think build --module demo
就会生成一个默认的demo模块,包括如下目录结构:
├─demo │ ├─controller 控制器目录 │ ├─model 模型目录 │ ├─view 视图目录 │ ├─config.php 模块配置文件 │ └─common.php 模块公共文件 同时也会生成一个默认的 Index 控制器文件。
首先是Controller:
位于application/index/controller/Index.php
有一个默认的Index类:
本来它return的是开始页面,现在改为hello world。
<?phpnamespace app\index\controller;class Index{ public function index() { return &#ThinkPHP5 빠른 시작 방법 소개9;Hello,World!&#ThinkPHP5 빠른 시작 방법 소개9;; } }
然后我们再继承Controller类:
<?phpnamespace app\index\controller;use think\Controller;//引入Controller类class Index extends Controller{ public function index($name=&#ThinkPHP5 빠른 시작 방법 소개9;world&#ThinkPHP5 빠른 시작 방법 소개9;) { $this->assign(&#ThinkPHP5 빠른 시작 방법 소개9;name&#ThinkPHP5 빠른 시작 방법 소개9;,$name); return $this->fetch(); } }
我们向页面传递一个带有默认值的参数name。
然后是View:
thinkphph采用模板渲染,模板存在View文件夹下,默认是没有View文件夹的,我们自己创建:
在application/index
目录下面创建一个 view 目录,在view目录下再建一个index目录,然后添加模板文件hello.html,整个路径: view/index/hello.html
<html><head><title>hello {$name}</title></head><body> hello {$name}!</body></html>
然后我们可以访问:
或者采用省略路径:http://localhost/tp5/public/
更高级的可以配置url的路由。
这里采用Mysql数据库,在test表下建一个数据库:
create table if not exists think_data( id int(8) not null auto_increment primary key, data varchar(ThinkPHP5 빠른 시작 방법 소개55) not null )engine=MyISAM default charset=utf8;
再插入几条数据就行;
然后在 application/database.php
下进行配置:
return [ // 数据库类型 &#ThinkPHP5 빠른 시작 방법 소개9;type&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;mysql&#ThinkPHP5 빠른 시작 방법 소개9;, // 服务器地址 &#ThinkPHP5 빠른 시작 방법 소개9;hostname&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;ThinkPHP5 빠른 시작 방법 소개ThinkPHP5 빠른 시작 방법 소개7.0.0.ThinkPHP5 빠른 시작 방법 소개&#ThinkPHP5 빠른 시작 방법 소개9;, // 数据库名 &#ThinkPHP5 빠른 시작 방법 소개9;database&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;test&#ThinkPHP5 빠른 시작 방법 소개9;, // 用户名 &#ThinkPHP5 빠른 시작 방법 소개9;username&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;root&#ThinkPHP5 빠른 시작 방법 소개9;, // 密码 &#ThinkPHP5 빠른 시작 방법 소개9;password&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;&#ThinkPHP5 빠른 시작 방법 소개9;, // 端口 &#ThinkPHP5 빠른 시작 방법 소개9;hostport&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;&#ThinkPHP5 빠른 시작 방법 소개9;, // 连接dsn &#ThinkPHP5 빠른 시작 방법 소개9;dsn&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;&#ThinkPHP5 빠른 시작 방법 소개9;, // 数据库连接参数 &#ThinkPHP5 빠른 시작 방법 소개9;params&#ThinkPHP5 빠른 시작 방법 소개9; => [], // 数据库编码默认采用utf8 &#ThinkPHP5 빠른 시작 방법 소개9;charset&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;utf8&#ThinkPHP5 빠른 시작 방법 소개9;, // 数据库表前缀 &#ThinkPHP5 빠른 시작 방법 소개9;prefix&#ThinkPHP5 빠른 시작 방법 소개9; => &#ThinkPHP5 빠른 시작 방법 소개9;think_&#ThinkPHP5 빠른 시작 방법 소개9;, // 数据库调试模式 &#ThinkPHP5 빠른 시작 방법 소개9;debug&#ThinkPHP5 빠른 시작 방법 소개9; => true,
修改controller下的Index类:
<?phpnamespace app\index\controller;use think\Controller;use think\Db;//引入数据库class Index extends Controller{ public function index($name=&#ThinkPHP5 빠른 시작 방법 소개9;world&#ThinkPHP5 빠른 시작 방법 소개9;) { $this->assign(&#ThinkPHP5 빠른 시작 방법 소개9;name&#ThinkPHP5 빠른 시작 방법 소개9;,$name); return $this->fetch(); } public function dbtest() { $data = Db::name(&#ThinkPHP5 빠른 시작 방법 소개9;data&#ThinkPHP5 빠른 시작 방법 소개9;)->find(); $this->assign(&#ThinkPHP5 빠른 시작 방법 소개9;result&#ThinkPHP5 빠른 시작 방법 소개9;,$data); return $this->fetch(); } }
再在view下的index目录下建一个dbtest.html渲染:
<html><head><title></title></head><body> {$result.id---$result.data}</body></html>
再访问http://localhost/tp5/public/index.php/index/index/dbtest
rrreee
http://localhost/tp5/public/
환영 페이지가 표시됩니다:
명령줄을 입력하고 tp5/public 디렉터리를 입력한 후 다음 명령을 입력하세요. rrreee그러면
rrreee

rrreee
rrreee 다음 디렉터리 구조를 포함하는 기본 데모 모듈이 생성됩니다.
rrreee
application/index/controller/Index.php
에 기본 Index 클래스가 있습니다. 🎜
원래는 시작 페이지를 반환했지만 지금은 hello world를 반환합니다. 🎜rrreee🎜그런 다음 Controller 클래스를 상속합니다. 🎜rrreee🎜기본값이 포함된 매개변수 이름을 페이지에 전달합니다. 🎜🎜다음 보기: 🎜
thinkphph는 템플릿 렌더링을 사용합니다. 템플릿은 기본적으로 View 폴더에 저장되지 않습니다. 🎜
application/index
디렉터리 아래에 보기 디렉터리를 만들고, 보기 디렉터리 아래에 인덱스 디렉터리를 만든 다음 템플릿 파일 hello.html, 전체 경로인 view/index/hello를 추가합니다. html code>🎜rrreee🎜그런 다음 다음을 방문하세요: 🎜<img.php.cn alt="ThinkPHP5 빠른 시작 방법 소개" title=" "></img.php.cn>🎜🎜또는 생략된 경로를 사용하세요: <code>http://localhost/tp5/public/
🎜
고급 버전에서는 URL 라우팅을 구성할 수 있습니다. 🎜application/database.php
에서 구성합니다. 🎜rrreee🎜컨트롤러 아래의 Index 클래스를 수정합니다. 🎜rrreee🎜 그런 다음 뷰 아래의 index 디렉터리에 dbtest.html 렌더링을 만듭니다. 🎜rrreee🎜 다시 http://localhost/tp5/public/index.php/index/index/dbtest
를 방문하세요. 🎜🎜이 글에서는 ThinkPHP5의 빠른 시작 방법에 대해 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참고하세요. 🎜🎜관련 권장 사항: 🎜🎜🎜ThinkPHP 사용 단계 소개🎜🎜🎜🎜🎜Unlockable 쿼리🎜🎜🎜🎜🎜업데이트 잠금(U) 및 배타적 잠금(X) 관련 지식 설명🎜🎜🎜위 내용은 ThinkPHP5 빠른 시작 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PHP에서는 session_status () 또는 session_id ()를 사용하여 세션이 시작되었는지 확인할 수 있습니다. 1) session_status () 함수를 사용하십시오. php_session_active가 반환되면 세션이 시작되었습니다. 2) session_id () 함수를 사용하십시오. 비어 있지 않은 문자열이 반환되면 세션이 시작되었습니다. 두 방법 모두 세션 상태를 효과적으로 확인할 수 있으며 사용할 방법을 선택하면 PHP 버전 및 개인 선호도에 따라 다릅니다.

SessionSareVitalInWebApplications, 특히 상수도가 포함되어 있습니다.

PHP에서 동시 세션 액세스 관리 다음 방법으로 수행 할 수 있습니다. 1. 데이터베이스를 사용하여 세션 데이터를 저장하십시오. 이러한 방법은 데이터 일관성을 보장하고 동시성 성능을 향상시키는 데 도움이됩니다.

phpsessionshaveseverallimitations : 1) StorageConstraintsCanleadToperFormanceIssues; 2) SecurityVulnerabilitiesSessionFixationAtCATACKSEXIST; 3) 확장 성분이 ANCHALLENGINGDUETOSERVERS-SCIFICSTORAGE; 4) SessionExpirationManagementCanbeproblematic; 5) Datapersis

로드 밸런싱은 세션 관리에 영향을 미치지 만 세션 복제, 세션 끈적임 및 중앙 집중식 세션 스토리지로 해결할 수 있습니다. 1. 세션 복제 복사 서버 간의 세션 데이터. 2. 세션 끈은 사용자 요청을 동일한 서버로 안내합니다. 3. 중앙 집중식 세션 스토리지는 Redis와 같은 독립 서버를 사용하여 세션 데이터를 저장하여 데이터 공유를 보장합니다.

SessionLockingIsateChniqueSureDureauser의 SessionLockingSsessionRemainSexclusivetoOneuseratatime.itiscrucialforpreptingdatacorruptionandsecurityBreachesInmulti-userApplications.sessionLockingSogingSompletEdusingserVerver-sidelockingMegynisms, unrasprantlockinj

PHP 세션의 대안에는 쿠키, 토큰 기반 인증, 데이터베이스 기반 세션 및 Redis/Memcached가 포함됩니다. 1. Cookies는 클라이언트에 데이터를 저장하여 세션을 관리합니다. 이는 단순하지만 보안이 적습니다. 2. Token 기반 인증은 토큰을 사용하여 사용자를 확인합니다. 이는 매우 안전하지만 추가 논리가 필요합니다. 3. Database 기반 세션은 데이터베이스에 데이터를 저장하여 확장 성이 좋지만 성능에 영향을 줄 수 있습니다. 4. Redis/Memcached는 분산 캐시를 사용하여 성능 및 확장 성을 향상하지만 추가 일치가 필요합니다.

SessionHijacking은 사용자의 SessionID를 얻음으로써 사용자를 가장하는 공격자를 말합니다. 예방 방법은 다음과 같습니다. 1) HTTPS를 사용한 의사 소통 암호화; 2) SessionID의 출처를 확인; 3) 보안 세션 생성 알고리즘 사용; 4) 정기적으로 SessionID를 업데이트합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기
