当前位置: 首页 > news >正文

Codeigniter 4基础教程(1)-- Wamp+CodeIgniter 4以及helloworld

前言: Codeigniter 是PHP语言上比较普遍的MVC框架(不懂MVC的请出门左转,那里有教程)。相对而言比较简单,效率较高(一般认为仅次于Phalcon),市场占有率比较高(一般认为仅次于laravel)。缺点是Codeigniter更新不够快,新的内容不够多,比如,csrf等内容就曾经长期没有获得更新。

0.WAMP
注意:codeigniter 4.0.3 需要至少PHP 7.2+的平台。这里选择Wamp安装包。具体安装请参考其他教程。安装后的效果如下
在这里插入图片描述
1.安装Codeigniter 4 + visual studio code
与laravel等需要composer的不同,codeigniter 相对比较简单,下载到www即可。
在这里插入图片描述
首先,修改文件夹名称,我修改为ci403
在这里插入图片描述
打开浏览器,输入http://localhost/ci403/public/,效果如下
在这里插入图片描述
这里其实是访问http://localhost/ci403/public/index.php,而其他othercontroller以及对应的方法othermethod的参数otherparam访问都是
http://localhost/ci403/public/index.php/othercontroller/othermothod/otherparam
还有composer进行安装的方法,这里略过。
安装visual studio code(略)。
打开ci403的文件夹,内容如下。
在这里插入图片描述
现阶段不需要关注其结构,只需要知道url路径找的public的内容即可
1+.另一种启动方式
app/config/App.php有如下语句

	public $baseURL = 'http://localhost:8080/';

打开ci403的目录,命令行输入php spark serve
然后进入localhost:8080即可。这里略过。

2.修改base_url

	public $baseURL = 'http://localhost/ci403/public/';

备注:路由默认的启动程序相关的都在app/Routers.php中,比如


$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->setAutoRoute(true);$routes->get('/', 'Home::index');
//$routes->get('/site', 'Home::site');

这里的uri的写法是index.php/site去映射Home控制器的sitefunction。

3.helloworld的非正规创建
这里指明了默认的HomeController以及默认的方法。因此,我们基于这一点创建helloworld程序。修改app/Controllers/Home.php如下

<?php namespace App\Controllers;class Home extends BaseController
{public function index(){echo '<h1>Hello Codeigniter 4.0.3<h1>';}
}

效果如下:
在这里插入图片描述
进一步修改app/config/Routers.php

$routes->get('/', 'Home::hello');

修改app/Controllers/Home.php

<?php namespace App\Controllers;class Home extends BaseController
{public function index(){// return view('welcome_message');echo '<h1>Hello Codeigniter 4.0.3<h1>';}//--------------------------------------------------------------------public function hello(){echo '<h1>Hello codeigniter 4-0-3<h1>';}
}

在这里插入图片描述
创建一个新的默认Controller,修改app/Config/Routers.php


$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('MyHome');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->setAutoRoute(true);$routes->get('/', 'MyHome::index');

然后,创建app/Controllers/MyHome.php

<?php namespace App\Controllers;class MyHome extends BaseController
{public function index(){// return view('welcome_message');echo '<h1>Hello My NEW HOME Codeigniter 4.0.3<h1>';}//--------------------------------------------------------------------public function hello(string $name){echo '<h1>Hello codeigniter 4-0-3 from <h1>'.$name;}
}

效果如下:
在这里插入图片描述
3+通过url输入参数给方法
以及手动访问MyHome的hello方法,同时传进去一个参数you。
http://localhost/ci403/public/index.php/MyHome/hello/you
在这里插入图片描述
4.Hellworld的正规创建(通过view)
app/Controllers/MyHome.php

<?php namespace App\Controllers;class MyHome extends BaseController
{public function index(){// return view('welcome_message');// echo '<h1>Hello My NEW HOME Codeigniter 4.0.3<h1>';return view('myhello');}//--------------------------------------------------------------------public function hello(string $name){echo '<h1>Hello codeigniter 4-0-3 from <h1>'.$name;}
}

app/Views/myhello.php

<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>My Hello world
</body>
</html>

效果如下
在这里插入图片描述
5.controller传递参数给view
app/views/myhello.php

<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>
My Hello world from <?php echo var_dump($data);?></body>
</html>

app/Controllers/MyHome.php

<?php namespace App\Controllers;class MyHome extends BaseController
{public function index(){$mydata['data'] = [1,2,3];return view('myhello',$mydata);}public function hello(string $name='yyyy'){$myname['data'] = array('one'=>'2','two'=>$name,);return view('myhello',$myname);}
}

效果如下:
在这里插入图片描述
最后,给一个url传递数据的例子
http://localhost/ci403/public/index.php/MyHome/hello/zzzz
在这里插入图片描述
再补充一个小的写法, 使用到了compact函数来把多个独立的变量进行打包发送。

<?php namespace App\Controllers;class MyHome extends BaseController
{public function index(){$mydata['data'] = [1,2,3];return view('myhello',$mydata);}public function hello(string $name='yyyy'){$myname['data'] = array('one'=>'2','two'=>$name,);return view('myhello',$myname);}public function hello(){$name='yy';$email = 'yy@yy.com';$age = 30;return view('myhello',compact($name, $email, $age));}
}

齐活。

http://www.lryc.cn/news/570984.html

相关文章:

  • 计算机主机漏电,电脑主机箱漏电六大原因和解决方法
  • Windows安装与配置Git cz (commitizen)
  • 包含15个APP客户端UI界面的psd适用于餐厅咖啡店面包店快餐店
  • d3dx9_42.dll丢失的解决方法-d3dx9_42.dll缺失下载方法
  • InstallShield 2010打包安装程序,安装完成后执行某个程序
  • 送两本《ECharts数据可视化:入门、实战与进阶》
  • 蓝屏错误代码0x0000007E的解决方法及编程示例
  • linux内核(二)内核移植(DM365-DM368开发攻略——linux-2.6.32的移植)
  • Internet Explorer 已不再尝试还原此网站。该网站看上去仍有问题。
  • 关于部分网页打不开的解决方法详解
  • 学生学籍管理系统页面源代码html_110.188.251:8088四川大学锦江学院教务管理系统...
  • 盗版xp成功验证成正版,享受正版增值服务!—— 完美解决XP被黑和盗版提示
  • 英语学习漫谈
  • 导航条——flash导航条
  • 音频毒品
  • 002微信小程序模板与配置
  • 国开电大 管理心理学 形考任务1-4
  • 电阻篇---上拉电阻
  • 解决安装程序无法初始化。请下载Adobe
  • 设置hosts文件,屏蔽百度和谷歌的网页广告。
  • 内含干货PPT下载|一站式数据管理DMS关键技术解读
  • 地质地貌卫星影像集锦(一 典型地貌篇)
  • 经典DOS怀旧游戏-《炎龙骑士团》系列
  • 《Java编程思想》读书笔记:第十二章
  • ABAP 格式与JSON和XML格式互转
  • 微信小程序—跳一跳,Android游戏助手(外挂)使用教程,【吐血整理】
  • 大学英语六级听力——016(American and European cultural courses)
  • C/C++编程工具及实用小软件推荐
  • 流媒体下载软件Streambox VCR
  • 雅慧教你ASP+ACCESS数据库网页基本操作