วันจันทร์ที่ 27 พฤษภาคม พ.ศ. 2556

Events ส่วนสำคัญที่ใช้ในการสร้าง Bundles ของ Laravel

Events คือฟังก์ชันที่ทำให้เราสามารถจัดการเหตุการณ์ที่เกิดขึ้นกับ เว็บได้ และเป็นกุญแจสำคัญที่ให้ ปลั๊กอินเข้าถึงฟังก์ชันกลางของ laravel ได้โดยที่ไม่ต้องไปแก้ไข.
Firing Events ( การสั่งให้เกิดเหตุการขึ้น )
ฟังก์ชัน fire เป็นการสั่งให้เหตุการขึ้น:

URL & Input การจัดการลิ้งกับ Url ของ Laravel

การดึงค่า url ระดับ root ของ เว็บครับ:
$url = URL::base();
ดึงค่าลิ้งที่ไปยังส่วนที่เรากำหนดครับ:
$url = URL::to('user/profile');
สร้างลิ้งไปยัง https:
$url = URL::to_secure('user/login');

วันศุกร์ที่ 24 พฤษภาคม พ.ศ. 2556

Lravel Auto Loading & Error รู้จักการตั้งค่าเวลาอยากจะเอาคลาสจากข้างนอกมาใช้กับการจัดการ error คับ

Class Auto Loading
Auto-loading คือ คลาสที่ให้เรานำ คลาสที่อยู่ภายนอก  มาลงชื่อให้ใช้งานได้ laravel ซึ่งอยูใน application/start.php
Registering Directories (ลงชื่อแบบที่อยู่)

วันพุธที่ 22 พฤษภาคม พ.ศ. 2556

Laravel Pagination การแบ่งหน้าแสดงข้อมูล

Pagination การแบ่งหน้า
Using The Query Builder ( ทำการให้เลขหน้าโดยต่อจาการคิวรี่)
ตัวอย่างเราให้คิวรี่นี้ทำการให้เลขหน้าด้วย:
1.  $orders = DB::table('orders')->paginate($per_page, array('id', 'name', 'created_at'));
เวลาจะแสดงบน view  ก้ตามตัวอย่างเลยครับ:
1.  <?php foreach ($orders->results as $order): ?>
2.      <?php echo $order->id; ?>
3.  <?php endforeach; ?>
สร้างลิ้งของเลขหน้า:
1.  <?php echo $orders->links(); ?>
ลิ้งที่ออกมาครับ
1.  Previous 1 2  24 25 26 27 28 29 30  78 79 Next
Appending To Pagination Links (เพิ่มลูกเล่น)
เราสามารถเพิ่มการเรียงลำดับในตารางได้ด้วยการเพิ่ม พารามิเตอร์ชื่อ sort เหมือนในตัวอย่าง
<?php echo $orders->appends(array('sort' => 'votes'))->links();
ลิ้งที่ออกมา:
1.  http://example.com/something?page=2&sort=votes
Creating Paginators Manually ( สร้างการให้เลขหน้าโดยจัดเอง )
ตามตัวอย่างเลยครับ:
1.  $orders = Paginator::make($orders, $total, $per_page);
Pagination Styling (รูปแบบการจัดเลขหน้า)
ใส่ cssให้การจัดเลขหน้าได้ตามตัวอย่างเลย
1.  <div class="pagination">
2.      <ul>
3.          <li class="previous_page"><a href="foo">Previous</a></li>
4.   
5.          <li><a href="foo">1</a></li>
6.          <li><a href="foo">2</a></li>
7.   
8.          <li class="dots disabled"><a href="#"></a></li>
9.   
10.                   <li><a href="foo">11</a></li>
11.                   <li><a href="foo">12</a></li>
12.            
13.                   <li class="active"><a href="#">13</li>
14.            
15.                   <li><a href="foo">14</a></li>
16.                   <li><a href="foo">15</a></li>
17.            
18.                   <li class="dots disabled"><a href="#"></a></li>
19.            
20.                   <li><a href="foo">25</a></li>
21.                   <li><a href="foo">26</a></li>
22.            
23.                   <li class="next_page"><a href="foo">Next</a></li>
24.               </ul>
25.           </div>
เวลาเราอยู่หน้าแรกก็ต้องทำการปิดลิ้งกลับไปหน้าก่อนครับ:
1.  <li class="disabled previous_page"><a href="#">Previous</a></li>

บทนี้สั้นๆนะครับ บทหน้าจะมาต่อเรื่อง Class Auto Loading กับ  Errors & Logging วันหยุดเยอะจัดไปยาวๆ เลย อาทิตย์หน้าจะได้จบซีรี่ย์เลยครับ




วันอังคารที่ 21 พฤษภาคม พ.ศ. 2556

Laravel::HTML & Form ไม่ต้องพิมพ์แท็ก html ให้ยืดยาวอีกใช้ laravel สร้างให้เลย


Entities
เป็นการป้องกันการโจมตีแบบ cross site scripting โดยการตรวจและแปลงค่า ที่ผู้ใช้งานกรอกเข้ามา:
echo HTML::entities('<script>alert(\'hi\');</script>');
echo e('<script>alert(\'hi\');</script>');

วันจันทร์ที่ 20 พฤษภาคม พ.ศ. 2556

Laravel::Session & Cookie


Cookies
Cookie ของ laravel มีข้อควรระวังในการใช้คือ อย่างแรก,cookies จะเก็บค่า signature hash ไว้ด้วยเพื่อป้องกันการแก้ไขโดย client. อย่างที่สอง cookies เมื่อถูกสร้างแล้วจะไม่ถูกส่งไปที่บราวเซอร์โดยทันทีจะรอเมื่อสิ้นสุดคำร้องขอก่อนนั้นแปลว่า เราจะไม่สามารถเรียกใช้มันได้ทันที
รับค่า Cookies:

วันอาทิตย์ที่ 19 พฤษภาคม พ.ศ. 2556

Laravel::Schema Builder การจัดการตาราง


SCHEMA BUILDER( การจัดการตาราง )
Schema Builder คือ ฟังก์ชันที่ Laravel ใช้จัดการตาราง ไม่ว่าจะเป็นลบอ่านเขียน กำหนดค่าของตารางครับ
เพื่อนๆหลายท่านคงเคยใช้
cms หลายๆตัว ที่ตอนเริ่มแรกเขาให้เราตั้งค่า ฐานข้อมูล ตอนสุดท้ายก็จะโหลดนานหน่อย
แต่การโหลดตอนสุดท้ายนี้แหละครับ คือการสร้างฐานข้อมูลขึ้นมา ถ้าอ่านบทความนี้จบแล้วเพื่อนก็สามารถนำฟังก์ชันเหล่านี้ไปสร้างตัวติดตั้งส่วนตัวใช้ได้เลย
Creating & Dropping Tables(สร้างและลบตาราง)
ตัวอย่างการสร้างตารางครับ:

วันเสาร์ที่ 18 พฤษภาคม พ.ศ. 2556

Laravel::Working with file การจัดการไฟล์แบบเบสิคเลยครับ


การจัดการไฟล์
อ่านไฟล์
ดึงค่าข้างในไฟล์:
$contents = File::get('path/to/file');
เขียนไฟล์
พารามิเตอณ์ที่ 1 เป็น path พารามิเตอร์ที่ 2 เป็นข้อมูล:
File::put('path/to/file', 'file contents');
File::append('path/to/file', 'appended file content');
การลบไฟล์
File::delete('path/to/file');
การอัพโหลดไฟล์
ในตัวอย่างคือการย้ายไฟล์พร้อมตั้งชื่อใหม่
Input::upload('picture', 'path/to/pictures', 'filename.ext');
ตรวจหานามสกุลไฟล์
File::extension('picture.png');

ตรวจประเภทของไฟล์
Determining if a file is given type:
if (File::is('jpg', 'path/to/file.jpg'))
{
}
is method ใช้ค่าอ้างอิงจาก. Fileinfo PHP extension
Note: เราสามารถไปเพิ่มนามสกุลที่อยากจะตรวจเพิ่มได้ที่ application/config/mimes.php 
อ่านค่า MIME Types
หาค่า mime ที่คู่กับ นามสกุลนั้น
echo File::mime('gif'); // outputs 'image/gif'
Note: สามารถไปเพิ่ม mime type ได้ที่ application/config/mimes.php 
การคัดลอกทั้งโฟลเดอร์
File::cpdir($ต้นทาง, $ปลายทาง);
ลบโฟลเดอร์
File::rmdir($directory);
บทนี้สั้นๆนะครับ พรุ่งนี้มาต่อเรื่อง Schema การจัดการตารางของฐานข้อมูลนะครับ