讲点常见的困扰:url去哪儿了?
PHP中常见的链接(说白了就是url地址)往往令人困扰,一不小心就跑丢了。
一个url的应用是通过anchor来进行
$myanchor=array(
'width'=>500,
'height'=>500,
'scrollbar'=>'yes',
'status'=>'yes',
'resize'=>'yes'
);
echo anchor_popup('user/popupwindow','mypopup',$myanchor);
echo anchor('user/pop','Jump now');
这里给出一个小例子
<?php namespace App\Controllers;
class MyHelper extends BaseController
{
public function index()
{
// return view('welcome_message');
// echo '<h1>Hello Codeigniter 4.0.3<h1>';
helper('form');
echo form_open('MyHelper/user',array('id'=>'xyz','class'=>'xyz'));
echo form_input('name','','placeholder = "Enter your name"');
echo form_input('myname','',array('id'=>'myid','class'=>'myclass'));
echo form_textarea('myTextArea','',array('class'=>'myclass'));
echo form_password('mypassword','',array('class'=>'myclass'));
echo form_upload('fileName','','');
$myvar = array(
'1'=>1,'2'=>2,'3'=>3,'4'=>4
);
echo form_dropdown('myDropdown',$myvar,'4','');
echo form_label('Enter your name','gi9');
echo form_hidden('xyz','my value','');
echo form_multiselect('abdc',$myvar);
echo form_checkbox('gender','teagy',true,'');
echo form_radio('a34','xygze',true);
// echo form_open_multipart();
echo form_submit('Send Now','Submit Now','');
echo form_close();
}
public function user()
{
echo 'working now';
}
//--------------------------------------------------------------------
public function hello()
{
echo '<h1>Hello codeigniter 4-0-3<h1>';
}
public function inflate()
{
helper('inflector');
}
public function url(){
echo site_url('MyHelper/inflate');
}
}
http://localhost/ci403/public/index.php/MyHelper/url结果如下:
这里也可以改成 echo base_url();看看结果.
这里放张图片:app/public/images/5492.jpg
<?php namespace App\Controllers;
class MyHelper extends BaseController
{
public function index()
{
// return view('welcome_message');
// echo '<h1>Hello Codeigniter 4.0.3<h1>';
helper('form');
echo form_open('MyHelper/user',array('id'=>'xyz','class'=>'xyz'));
echo form_input('name','','placeholder = "Enter your name"');
echo form_input('myname','',array('id'=>'myid','class'=>'myclass'));
echo form_textarea('myTextArea','',array('class'=>'myclass'));
echo form_password('mypassword','',array('class'=>'myclass'));
echo form_upload('fileName','','');
$myvar = array(
'1'=>1,'2'=>2,'3'=>3,'4'=>4
);
echo form_dropdown('myDropdown',$myvar,'4','');
echo form_label('Enter your name','gi9');
echo form_hidden('xyz','my value','');
echo form_multiselect('abdc',$myvar);
echo form_checkbox('gender','teagy',true,'');
echo form_radio('a34','xygze',true);
// echo form_open_multipart();
echo form_submit('Send Now','Submit Now','');
echo form_close();
}
public function base(){
echo "<img src=".base_url('images/5492.jpg').">";
}
}
看看结果 http://localhost/ci403/public/index.php/MyHelper/base
url_string()返回Controller和Method的字符串。
再接个url的小例子
public function anchor(){
echo anchor('MyHelper','Go to MyHelper/index');
}
更高级的是anchor_popup();可以在新的窗口打开链接。
2.Bootstrap
把Bootstrap的内容嵌入到对应的view文件中即可。
或者,把源代码放到app/public/bootstrap/一下,同时设置好url的路径即可。
3.routes
一般地说,controllers是MVC框架下的核心所在,因为它们直接来处理请求,可是,这个请求是什么,是什么方式(post, get等)却由routes来进行管理。
CI4具备的routes也有诸如group, as,参数占位符操作,命名空间的引入等。
CI4自带的占位符/(:any),/(:num),/(:alpha),/(:segment),/(:alphanum),还可以自定义一个占位符
$routes->addPlaceholder('uuid', '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}');
$routes->add('users/(:uuid)', 'Users::show/$1');
另外的一大块是RESTful相关的,比如
$routes->add('site', 'MyHome::index');
国外CI4被吐槽的一个槽点在于其routes的写法太像laravel了,人家有了,干嘛用你们的?!
吐槽:至此,这节毫无意义的总算完成了