วันพฤหัสบดีที่ 29 สิงหาคม พ.ศ. 2556

ไปตามอ่านบล็อกใหม่ของผมได้ที่

บล็อกใหม่มีก็จะเกี่ยวกับ การแปลคู่มือ การพัฒนาเว็บไซต์ วีดีโอสอน บทความ ตามไปทักทายผมได้เลยครับ

http://taqmnainw.com

วันศุกร์ที่ 21 มิถุนายน พ.ศ. 2556

Laravel 4 Folder Structure

วันนี้ผมจะมาพาลุยทำความรู้จักกับ โครงสร้าง Folder ของ laravel  กันนะครับ เริ่มกันเลยที่โฟลเดอร์หลักที่เราใช้ทำงานคือ   app ไฟล์แรกที่เราต้องแก้ไขเมื่อเริ่มต้นสร้างโปรแกรมก็คือ app.php เป็นไฟล์ที่ใช้ในการตั้งค่าให้เว็บ อยู่ในโฟลเดอร์ config นะครับ การตั้งค่าทั้งหมดมี  8 ค่านะครับ
  1.     Debug คือการกำหนดว่าเราจะให้เว็บของเราแสดงค่า error กับค่าที่เกิดจากการ print_r ,vardump,dd หรือไม่
  2.    Url คือ การกำหนด url ที่จะใช้ในคำสั่ง artisan เพื่อใช้อ้างอิงถึงโฟลเดอร์เว็บของเรา ถ้าเราใช้ mod_rewrite ก็ควรมาเปลียนที่ตรงนี้ด้วยนะครับ ปกติก็จะเป็น localhost
  3.     TimeZone ผมเลือกเป็น Asia/Bangkok ครับ
  4.     Locale ใช้กำหนดภาษาในการใช้งานฟังก์ชันที่ใช้แปลภาษา
  5.     Key คือค่า private key ในการเข้ารหัสของฟังชัน Hash และ Password
  6.     Provider ใช้กำหนดที่อยู่ของไฟล์ที่ลงท้ายด้วยคำว่า ServiceProvider ในโฟลเดอร์ของ libraries ที่เราจะเรียกใช้งาน ไฟล์นั้นจะทำการโหลดคลาสที่ต้องใช้ให้เรา
  7.     Manifest ใช้กำหนดรายชื่อคลาสที่อยู่ในรายการ provider ที่เราไม่ต้องการให้โหลดทุกครั้ง
  8.    Alias   เป็นการกำหนดที่อยู่ของไฟล์ Facades ซึ่งจะทำการจำลองตัวมันเป็นคลาสที่เราเรียก ผลก็คือทำให้เราเรียกใช้งานแบบ static ได้

                                        


วันอาทิตย์ที่ 9 มิถุนายน พ.ศ. 2556

ชำแหละ Laravel 4

Laravel 4 ใช้รูปแบบ stattic method แบบเทียมนะครับ อิอิ

อะไรคือ static class
static method ใน php คือการที่เราเรียกใช้งาน method ใน class นั้นโดยตรงเลยไม่ต้องไปสร้างเป็นวัตถุขึ้นมาใหม่ 

วันจันทร์ที่ 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 การจัดการตารางของฐานข้อมูลนะครับ