|
|
|
กำลังฝึกหัด CodeIgniter ได้ทดสอบตาม code มีข้อสงสัยเกี่ยวกับ Helper ถ้า code ปกติก็ใช้ได้ แล้วเหตุใดต้องใช้ Helper |
|
|
|
|
|
|
|
จากการฝึกหัด CodeIgniter ก่อนที่จะอ่านถึงเรื่อง Helper ก็ได้ทดสอบหน้าเว็บแบบ html ตามปกติ ดัง ตย. code A
ซึ่งมันก็แสดงผลได้ตามปกติ แต่พออ่านมาถึง HTML Helper ก็ได้ลองแปลง code A โดยใช้ Helper ได้ตาม code B
ด้วยที่เพิ่งหัดทำเลยมีความรู้สึกว่า "เฮ้ย Helper มันดูวุ่นวายจัง ทำไมไม่เขียน Html แบบปกติ"
ท่านที่จับ CodeIgniter ตอนแรกๆ มีความรู้สึกแบบนี้หรือเปล่าครับ
แล้วในอนาคตถ้าเราชินกับรูปแบบ Helper ต่างๆ มันจะช่วยให้ทำงานง่ายจริงหรือเปล่าครับ
(จริงๆ มันเป็นอาการแค่ยังไม่คุ้น ไม่ชินในคำสั่ง ก็คงเป็นแบบนั้นด้วย )
ขอยกตัวอย่างในส่วนของ nav ที่ทำไว้นะครับ
code A : html ปกติ
<nav class="navbar navbar-default" role="navigation" id="topnavbar">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#toggleRes">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.php" id="mobile">
<img src="public/images/logo.png" class="img-responsive"/>
</a>
</div>
<div class="collapse navbar-collapse" id="toggleRes">
<ul class="nav navbar-nav navbar-left" id="addBar" >
<li class="active">
<a href="#index"> <i class="fa fa-home"></i> หน้าแรก</a>
</li>
<li><a href="#about" >ข้อมูลคณะ</a>
<li><a href="#department">หลักสูตร</a></li>
<li><a href="#test">ศึกษาต่อ</a></li>
<li><a href="#404">วารสาร</a></li>
<li><a href="#404">คู่มือ/แบบฟอร์ม</a></li>
<li><a href="#404">สารสนเทศ</a></li>
<li><a href="#404">แผนผังเว็บไซต์</a></li>
<li><a href="#404">ติดต่อเรา</a></li>
</ul>
<div class="col-sm-3 col-md-3 pull-right" id="search">
<form class="navbar-form" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="srch-term" id="srch-term">
<div class="input-group-btn">
<button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
</div>
</div>
</div>
</nav>
code B : ใช้ HTML Helper
<?php
//ปล. nav_open และ div_open ผมสร้าง Function เองง่ายๆ ไว้ใน html_helper.php
echo nav_open('navbar navbar-default','navigation','topnavbar');
echo div_open('container');
echo div_open('navbar-header');
$toggle_button = array(
'type' => 'button',
'class' => 'navbar-toggle',
'data-toggle' => 'collapse',
'data-target' => '#toggleRes',
'content' => '<span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>'
);
echo form_button($toggle_button);
$logo = array(
'src' => 'public/frontend/images/logo.png',
'class' => 'img-responsive',
'id' => 'desktop'
);
echo anchor('', img($logo), array('class' => 'navbar-brand','id' => 'mobile'));
echo div_close();
echo div_open('collapse navbar-collapse','toggleRes');
$ul_nav = array(
'<a href="'.site_url("main/").'" ><i class="fa fa-home"></i> หน้าแรก</a>',
'<a href="'.site_url("main/about").'" >คณะ</a>',
'<a href="'.site_url("main/test").'" >หลักสูตร</a>',
'<a href="'.site_url("main/notfound").'" >ศึกษาต่อ</a>',
'<a href="'.site_url("main/notfound").'" >วารสาร</a>',
'<a href="'.site_url("main/notfound").'" >คู่มือ/แบบฟอร์ม</a>',
'<a href="'.site_url("main/notfound").'" >สารสนเทศ</a>',
'<a href="'.site_url("main/notfound").'" >แผนผังเว็บไซต์</a>',
'<a href="'.site_url("main/notfound").'" >ติดต่อเรา</a>',
);
$value = array(
'class' => 'nav navbar-nav navbar-left',
'id' => 'addBar;'
);
$f_search = array(
'name' => 'srch-term',
'id' => 'srch-term',
'placeholder' => 'ค้นหา',
'class' => 'form-control'
);
$f_button = array(
'name' => 'btn_search',
'class' => 'btn btn-default',
'id' => 'btn_search',
'type' => 'submit',
'content' => '<i class="glyphicon glyphicon-search"></i>'
);
echo ul($ul_nav, $value);
echo div_open('col-sm-3 col-md-3 pull-right','search');
echo form_open('frontend/search', 'class="navbar-form" role="search" method="" accept-charset=""');
echo div_open('input-group');
echo form_input($f_search);
echo div_open('input-group-btn');
echo form_button($f_button);
echo div_close();
echo div_close();
echo form_close();
echo div_close();
echo div_close();
echo div_close();
echo nav_close();
?>
พี่ๆ เพื่อนๆ น้องๆ ในบอร์ดที่ผ่านประสบการ Framework มาเยอะแล้ว ช่วยแชร์แนวคิดและประสบการณ์หน่อยครับ
ว่าในการทำงานจริงๆ กับ Framework มันดีกว่า เร็วกว่า ถ้าใครว่างๆ เขียนในเห็นเป็นรูปธรรมเลยครับ
จะได้เป็นกำลังใจให้คนเริ่ม Framework ที่ยังสับสนอยู่เป็นแนวทางครับ
Edit : เลือก Tag - CodeIgniter แต่ค่าไปขึ้น Web Hosting เฉยเลย
Tag : Web Hosting, Web Hosting
|
ประวัติการแก้ไข 2016-11-08 08:50:57 2016-11-08 09:22:07 2016-11-08 09:24:00
|
|
|
|
|
Date :
2016-11-08 08:49:34 |
By :
apisitp |
View :
1500 |
Reply :
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เห็นในกลุ่มเฟส CodeIgniter บอกว่า Form Helper ส่วนใหญ่จะใช้แค่ form_open() ที่เหลือเขียนตามปกติครับ
เพราะ form_open() ช่วยเปิดแท็กฟอร์มได้ง่ายดีครับ
และเหมือนว่า Helper ต่างๆที่เตรียมไว้โดยเฉพาะ Form Helper จะมีไว้สำหรับให้เราสร้างฟอร์มอัตโนมัติครับ
แบบว่าอยากสร้าง input ก็รับแค่แค่ name หรือ attribute ต่างๆที่ต้องการมันก็จะสร้างให้เราเลย
ปกติผมก็ไม่ได้เรียกใช้นะครับ เห็นว่าเลือกใช้อันที่ง่ายกับเราเข้าไว้ดีกว่า
อันไหนรู้สึกว่ายังไม่ตอบโจทย์ก็ผ่านไปก่อนครับ วันหนึ่งอาจจะสนใจขึ้นมาใหม่ก็เป็นได้ครับ
|
|
|
|
|
Date :
2016-11-08 14:04:53 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปกติผมก็ไม่ใช้ Form Helper คับ
เขียนเป็นปกติคับ
|
|
|
|
|
Date :
2016-11-09 09:52:12 |
By :
คนมีเสน่ห์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะได้เขียน html - form แบบปกติไปก่อนดีกว่า ตอนนี้ก็พอจะเข้าใจ การทำงาน Helper ขึ้นมาบ้างล่ะ...
เดี๋ยวจะลอสร้างหน้าล็อกอิน ตรวจสอบ Username/Password ต่อล่ะ จะได้เข้าใจการคิวรี่ เพิ่มเติม
ต่อด้วยการส่งค่า session อันนี้ยังไม่ได้เลยว่ามันสร้าง หรือ ใช้งาน เหมือนของเดิมไหม จะพยายามเรื่อยๆ
ขอบคุณทั้งสองท่านครับ
|
|
|
|
|
Date :
2016-11-09 10:10:27 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
session
ไปที่ โฟลเดอร์ชื่อว่า config แล้วหา
$autoload['libraries'] = array(); แก้เป็น $autoload['libraries'] = array('database','session');
ตอนเรียกใช้ก็
$this->load->library('session'); ไว้ใน __construct() เลยก็ได้ครับ
ติดตรงไหนถามได้ครับ
ผมเปลี่ยนงานผมเป็น CI หมดละ
|
|
|
|
|
Date :
2016-11-09 10:23:18 |
By :
คนมีเสน่ห์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในฐานะคนทำ
helper ทั้งหลาย จะช่วยจัดการ Tag ที่มีโครงสร้างซับซ้อนได้ โดยที่ผลลัพท์ของมันจะเป็นไปตามที่กำหนดโดย framework ไว้ ยกตัวอย่างเช่น form_button() เราอาจเขียนคำสั่งง่ายๆ เพื่อแสดงปุมที่มีโครงสร้างซับซ้อนได้ เช่น
form_button(array(
'class' => 'icon-email',
'value' => 'Save'
));
ผลลัพท์คือ
<label><button class="button icon-email">Save</button></label>
ซึ่งจะเห็นว่าถ้าเราจำคำสั่ง HTML จะเขียนยาวกว่า PHP โดยเฉพาะบางกรณีที่เราอาจต้องการสร้างฟอร์มที่มีรูปแบบซบซ้อน หรือต้องเขียน HTML ตามรูปแบบที่กำหนดไว้ เช่น form สำหรับ bootstrap ก็เขียน helper ไปอย่างหนึ่ง ถ้าเกิดเปลี่ยนไปใช้ framework อื่น ก็เขียน helper ไปตามรูปแบบอื่นๆ แทน โดยไม่ต้องไปคอยแก้ไข HTML และไม่ต้องจดจำรูปแบบด้วย
แต่ helper ก็อาจทำไม่ได้ทุกอย่าง บางครั้งเราก็ยังจำเป็นต้องเขียน HTML สดๆอยู่
ส่วนตัวผมใช้ทั้ง 2 วิธีแล้วแต่กรณีครับ
|
|
|
|
|
Date :
2016-11-09 10:31:51 |
By :
goragod |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แฮะๆ ผมเลิก load helper มาใช้แล้วครับ ข้อจำกัดเยอะพอสมควร
ด้นสดตามความต้องการ ง่ายกว่า ซึ่งบางแท็กเราไม่ใช้
ก็ใส่มาให้เหมือน เครื่องมือ dreamweaver เลยครับ
|
|
|
|
|
Date :
2016-11-09 12:26:13 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Phalcon ก็ OK
เล็ก โหลดเร็วครับ
|
|
|
|
|
Date :
2016-11-12 11:22:09 |
By :
fossil31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เริ่มต้นด้วย CodeIgniter รับรองเข้าใจ MVC และสไตล์ OOP เร็วที่สุดครับ ^^
จากนั้น จะ Yii หรือ Laravel ก็ตามพลัง และความชอบเลยครับ
ปล. Phalcon รู้สึกว่าจะต้องคอนฟิกเยอะกว่าอันอื่นนะครับ ถ้าจะใช้เว็บโฮสติ้งก็ต้องแบบรองรับ Phalcon เป็นพิเศษด้วย ^^"
|
|
|
|
|
Date :
2016-11-13 15:53:15 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|