Pear Zend Framework

การติดตั้ง การใช้งาน Pear Packages Zend

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน

OOP คืออะไร
OOP (Object-Oriented Programing) หรือการเขียนโปรแกรมเชิงวัตถุ เป็นการเขียนโปรแกรมที่แตกต่างจากการเขียนโปรแกรมแบบธรรมดา

(แบบโครงสร้าง: Structure Programing) เป็นการเขียนโปรแกรมที่มองสิ่งต่างๆของโปรแกรมเป็นวัตถุ
โปรแกรมเชิงวัตถุ สร้างมาจากกลุ่มของออบเจ็กต์ หรือวัตถุ ซึ่งแต่ละออบเจ็กต์จะบรรจุ Attribute(*1) และ Operation(*2) ภาย

ในตัวออกเจ็กต์เอง และแต่ละ Object จะเชื่อมต่อการทำงานเข้าด้วยกัน
(*1)Attribute คือ คุณสมบัติหรือตัวแปรที่มีความสัมพันธ์กับ Object
(*2)Operation คือ การกระทำหรือฟังก์ชันที่ Object สามารถการทำปรับเปลี่ยนตัวมันอง หรือแสดงผลออกมาภายนอกได้

ประโยชน์ของการเขียนโปรแกรมเชิงวัตถุคือ
1. การจัดรูปแบบโค้ดเป็นระบบระเบียบ ทำให้ง่ายต่อการพัฒนา และแก้ไขในภายหลัง
2.มีการป้องกันของข้อมูล เพื่อป้องกันการนำข้อมูลไปใช้อย่างผิดๆ ดังนั้นหากต้องการนำข้อมูลภายใน Object ไปใช้
3.การนำไปใช้สามารถทำได้ง่ายไม่ยุ่งวุ่นวาย และสามารถนำไปใช้ซ้ำได้โดยไม่ต้องเขียนโค้ดใหม่

Class คือ เค้าโครงที่ใช้กำหนดลักษณะของออบเจ็กต์ และใช้แทนกลุ่มของออบเจ็กต์ แต่ละคลาส(Class) ประกอบไปด้วย

Operation เดียวกันกระทำในทิศทางเดียวกัน และ Attribute เดียวกันในการแทนสิ่งเดียวกัน
ยกตัวอย่างเช่น หุ่นยนต์ คิดเป็น Class ของ Object ที่ใช้อธิบายคุณลักษณะต่างๆ เปรียบได้กับ Attribute เช่น กลไกในการ

เคลื่อนที่ หน่วยความจำ และการกระทำต่างๆของหุ่นยนต์เปรียบได้กับ Operation เช่นการเคลื่อนที่ของหุ่นยนต์

ในบทต่อไปจะพูดถึงเรื่อง Object-Oriented PHP

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
Usage: phpunit [switches] UnitTest [UnitTest.php]
       phpunit [switches] <directory>

  --log-junit <file>        Log test execution in JUnit XML fo
  --log-tap <file>          Log test execution in TAP format t
  --log-dbus                Log test execution to DBUS.
  --log-json <file>         Log test execution in JSON format.

  --coverage-html <dir>     Generate code coverage report in H
  --coverage-clover <file>  Write code coverage data in Clover

  --testdox-html <file>     Write agile documentation in HTML
  --testdox-text <file>     Write agile documentation in Text

  --filter <pattern>        Filter which tests to run.
  --group ...               Only runs tests from the specified
  --exclude-group ...       Exclude tests from the specified g
  --list-groups             List available test groups.

  --loader <loader>         TestSuiteLoader implementation to
  --repeat <times>          Runs the test(s) repeatedly.

  --tap                     Report test execution progress in
  --testdox                 Report test execution progress in

  --colors                  Use colors in output.
  --stderr                  Write to STDERR instead of STDOUT.
  --stop-on-error           Stop execution upon first error.
  --stop-on-failure         Stop execution upon first error or
  --stop-on-skipped         Stop execution upon first skipped
  --stop-on-incomplete      Stop execution upon first incomple
  --strict                  Mark a test as incomplete if no as

  --verbose                 Output more verbose information.
  --wait                    Waits for a keystroke after each t

  --skeleton-class          Generate Unit class for UnitTest i
  --skeleton-test           Generate UnitTest class for Unit i

  --process-isolation       Run each test in a separate PHP pr
  --no-globals-backup       Do not backup and restore $GLOBALS
  --static-backup           Backup and restore static attribut
  --syntax-check            Try to check source files for synt

  --bootstrap <file>        A "bootstrap" PHP file that is run

  -c|--configuration <file> Read configuration from XML file.
  --no-configuration        Ignore default configuration file
  --include-path <path(s)>  Prepend PHP's include_path with gi
  -d key[=value]            Sets a php.ini value.

  --help                    Prints this usage information.
  --version                 Prints the version and exits.

  --debug                   Output debugging information.

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
Zend-framework.png

Zend หลายคนคงคุ้นหูแต่นึกไม่ออกว่าคืออะไร หากถามว่ารู้จัก PHP มั๊ย หลายคนก้อร้องอ๋อขึ้นมาทันที Zend เป็นบริษัทที่พัฒนา Zend Platform (PHP) และผลิตภัณฑ์อื่นๆ เช่น Zend Optimizer, Zend Gard, Zend Studio เป็นต้น เอาล่ะวันนี้ผมพามาชำแหละผลิตภัณฑ์อีกตัวหนึ่งซึ่งได้รับความนิยมไม่แพ้กัน และที่สำคัญเป็นจุดกำเนิดการพัฒนาเว็บแอพลิเคชั่นแบบ MVC ของ PHP เลยทีเดียว (ไม่นับ CakePHP นะ) ผลิตภัณฑ์ที่ว่าคือ Zend Framework ปัจจุบันพัฒนามาจนถึงรุ่น 1.7 แล้วครับ ขึ้นชื่อว่า Framework ก้อคงจะทราบกันดีอยู่แล้วว่าจะต้องมีส่วนขยายและคอมโพเน้นที่ไม่มีใน PHP ปกติอย่างแน่นอน เอาล่ะวันนี้เราจะมาดูกัน

ทำความรู้จักกับ Zend Framework กันก่อน Zend Framework เป็นส่วนขยายของ PHP ซึ่งพัฒนาบนพื้นฐานของ object oriented programming โดยมุ่งพัฒนาให้เกิดความปลอดภัย มีสเถียรภาพ และง่ายต่อการพัฒนาแอพลิเคชั่นในแบบ Web 2.0 และ Web Service นอกจากนี้ยังรวมเอา APIs จากบริษัทชึ้นนำอย่าง Google, Amazon, Yahoo, Flickr และ APIs สำหรับระบบแคตตาล็อกสินค้าอย่าง StrikeIron และ ProgrammableWeb เป็นต้น Zend Framework พัฒนาโดยอาศัยหลักคิดแบบเรียบง่าย เพื่อให้เว็บแอพลิเคชั่นที่พัฒนามีขนาดเล็กและเบา ไลบรารีและคอมโพเน้นไม่ขึ้นต่อกันมากนัก ซึ่งคอมโพเน้นประมาณ 4 ใน 5 ของเว็บแอพลเคชั่นจะถูกรวบรวมไว้ให้แล้วนักพัฒนาเพียงพัฒนาเพิ่มอีก 20% ก้อจะได้เว็บแอพลิเคชั่นที่คุณหรือลูกค้าต้องการ ซึ่งทำให้การพัฒนาโปรแกรมทำได้รวดเร็วยิ่งขึ้น

คุณสมบัติเด่นที่ Zend Framework มีให้ใช้พัฒนาเว็บแอพลิเคชั่น
- AJAX และสนับสนุน JSON
- Search ใช้ Lucense search engine
- Syndication สามารถส่งออกรูปแบบข้อมูลและง่ายต่อการอ่านข้อมูลที่เว็บ 2.0 กำลังเป็นที่นิยม
- Web Services สนับสนุนการพัฒนา Web Service และการให้บริการ  Web Service
- มี OO PHP5 Class และ Library ที่มีคุณภาพสูง เพื่อให้ง่ายพัฒนาแอพลิเคชั่นซึ่งสนับสนุน design pattern, unit testing

คอมโพเน้นที่ Zend Framework มีให้
- MVC (Model-View-Controller) ได้แก่ Zend_Controller, Zend_Controller_Action, Zend_Controller_Dispatcher, Zend_Controller_Plugin, Zend_Controller_RewriteRouter, Zend_View, Zend_Http_Request, Zend_Http_Response
- Database ได้แก่ Zend_Db, Zend_Db_Table
- Internationalization (i18n) and Localization (l10n) ได้แก่ Zend_Date, Zend_Locale, Zend_Measure, Zend_Translate
- Authentication, Authorization และ Session management ได้แก่ Zend_Acl, Zend_Authentication, Zend_Session
- Web และ Web Service ได้แก่ Zend_Feed, Zend_Rest_Client, Zend_Service, Zend_XmlRpc_Client, Zend_Gdata, Zend_Http_Client, Zend_Http_Server, Zend_Rest_Server, Zend_Server_Documentor, Zend_Server_Reflection, Zend_Soap_Server, Zend_XmlRpc_Serve และ Zend_Uri
- Mail, Format และ Search ได้แก่ Zend_Json, Zend_Pdf, Zend_Mail, Zend_Mime, Zend_Search_Lucene
- Core Infrastructure ได้แก่ Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Log, Zend_Memory, Zend_Debug, Zend_Environment, Zend_Loader, Zend_Registry, Zend_Version, Zend_Filter, Zend_Validate

ใครใช้ Zend Framework บ้าง
- Bwin Games AB
- FOX Interactive Media
- Magento
- Indianapolis Motor Speedway
- Right Media
- IBM

สถิติเกี่ยวกับ Zend Framework
- ดาวน์โหลดมากกว่า 7 ล้านครั้ง
- มี Contributor มากกว่า 500 ราย
- มีหน้าเว็บที่กล่าวถึง Zend Studio มากกว่า 1000 หน้า
- มีตัวอย่างมากกว่า 500 ตัวอย่าง
- มีจำนวน Hits มากกว่า 750 Hits ใน Technorati
- มีโครงการซอฟต์แวร์บน SourceForge ที่ใช้ Zend Framework เป็นพื้นฐานในการพัฒนา มากกว่า 60 โครงการ
- มีโครงการซอฟต์แวร์บน Google Code ที่ใช้ Zend Framework เป็นพื้นฐานในการพัฒนา มากกว่า 30 โครงการ
- มากกว่า 30000 Issues ที่ได้รับการแก้ไขในระบบ Issue Tracker

เขียนมายาวยืดมีใครใช้ Zend Framework กันบ้าง ขอเสียงหน่อยครับ เกือบลืมครับ ดาวน์โหลด Zend Framework ได้ที่ http://framework.zend.com


ที่มา: thaiopensource.org

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
ตั้งค่าให้ FileZilla ให้อัพได้ครั้งละหลายๆไฟล์

Edit >> FileZilla Options >> File transfer setting >> Transfer up ใส่ตัวเลขเป็น 5 หรือ 10 ไปเลยครับ
เท่านี้เจ้า FileZilla ของเราก็จะอัพโหลด หรือ ดาวน์โหลดไฟล์ได้ ครั้งละหลา่ยๆ ไฟล์ แล้ว


ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
เขียน Captcha (Image Verify) ป้องกัน bot Auto post
บทความนี้ผม ใช้ Zend Framework 1.5 (เป็นเวอร์ชั่นเก่าที่ยังไม่มี Zend_Captcha)
การใช้งาน สมมุติเรามี Application ที่เขียนบน Zend Framework อยู่แล้ว
การทำ Image Verify  ต้องใช้ Zend_Session_Namespace ด้วย ดังนั้น ตอนที่เราสร้าง Class สำหรับทำ Image Verify เราจำเป็นต้อง Load Class นี้ เข้ามาใช้งานด้วย
ตามโค้ดนี้
Zend_Loader::loadClass('Zend_Session_Namespace');

ส่วนโค้ดทั้งหมด
class ImagegeneratorController extends Zend_Controller_Action
{
    public function init()
    {
        $this->_helper->viewRenderer->setNoRender();
    }
     
    public function generatecaptchaAction()
    {
         Zend_Loader::loadClass('Zend_Session_Namespace');

            $defaultNamespace = new Zend_Session_Namespace('code_verify');
            $md5_hash = md5(rand(0,999));
 
            $security_code = substr($md5_hash, 15, 5);
            $defaultNamespace->security_code = $security_code;

     
    //Set the image width and height
    $width = 100;
    $height = 20;
    
    $image = ImageCreate($width, $height);
    
    $white = ImageColorAllocate($image, 255, 255, 255);
    $black = ImageColorAllocate($image, 0, 0, 0);
    $grey = ImageColorAllocate($image, 204, 204, 204);
    
    ImageFill($image, 0, 0, $black);
    
    ImageString($image, 3, 30, 3, $security_code, $white);
    
    ImageRectangle($image,0,0,$width-1,$height-1,$grey);
    imageline($image, 0, $height/2, $width, $height/2, $grey);
    imageline($image, $width/2, 0, $width/2, $height, $grey);
     
    //Tell the browser what kind of file is come in
    header("Content-Type: image/jpeg");
     
    //Output the newly created image in jpeg format
    ImageJpeg($image);
    }
}

-----------------------------------------
และใช้โค้ดนี้วางใน form (ไฟล์.phtml)  เพื่อให้แสดงรูปจาก Class ข้างบน
 < img src="baseUrl; ?>/imagegenerator/generatecaptcha" />


ส่วนวิธีตรวจสอบว่าคนกรอกกรอก Code ถูกหรือไม่ ก็ตรวจสอบตามนี้
$Code = $filter->filter($this->_request->getPost('Code'));
$defaultNamespace = new Zend_Session_Namespace('code_verify');           

if($Code != $defaultNamespace->security_code) {
 // โค้ดไม่ถูก
} else {
// work
}




บอร์ด php : http://www.mindphp.com/forums/index.php

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน

การใช้งาน  ติดตั้ง Pear Php


http://www.pear.php.net
กระทู้ล่าสุดจากบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
โดย
"Symfony" php Framework วิธีการรันไฟล์ ?
โดย thatsawan อ 22 ก.ค. 2014 7:06 pm บอร์ด Programming - PHP
0
18
อ 22 ก.ค. 2014 7:06 pm โดย thatsawan
"Symfony" php Framework วิธีสร้างไฟล์ ?
โดย thatsawan อ 22 ก.ค. 2014 7:02 pm บอร์ด Programming - PHP
0
13
อ 22 ก.ค. 2014 7:02 pm โดย thatsawan
ลบโปรแกรมไอคอนหน้า Desktop ยังไงค่ะ
โดย thatsawan อ 22 ก.ค. 2014 4:53 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
16
อ 22 ก.ค. 2014 4:53 pm โดย thatsawan
กด submit แล้วไม่ตอบสนองครับ
โดย Anonymous อ 22 ก.ค. 2014 4:38 pm บอร์ด Programming - PHP
0
17
อ 22 ก.ค. 2014 4:38 pm โดย Anonymous
B - เอกสารหมายเลข 6 - ค่าเช่าต่อเดือนไม่ถูกต้อง
โดย jay_limm อ 22 ก.ค. 2014 12:42 pm บอร์ด Rid - ระบบบันทึกงบประมาณ
1
6
อ 22 ก.ค. 2014 12:42 pm โดย jay_limm
งานประจำวัน 22 กรกฎาคม 2557
โดย buay อ 22 ก.ค. 2014 11:07 am บอร์ด M018 - ณัฐกุล โนรินทร์
1
4
อ 22 ก.ค. 2014 11:07 am โดย buay
รายงานประจำวันที่ 22 กรกฎาคม 2557
โดย jay_limm อ 22 ก.ค. 2014 9:55 am บอร์ด M019 - คะนึงรัตน์ ลิ่มตระกูล
1
2
อ 22 ก.ค. 2014 9:55 am โดย jay_limm
The connection has timed out
โดย buay จ 21 ก.ค. 2014 7:29 pm บอร์ด Programming - PHP
4
80
จ 21 ก.ค. 2014 7:29 pm โดย buay
B - เอกสารหมายเลข 6 - show notice
โดย jay_limm จ 21 ก.ค. 2014 6:20 pm บอร์ด Rid - ระบบบันทึกงบประมาณ
2
6
จ 21 ก.ค. 2014 6:20 pm โดย jay_limm
B - M014 - เอกสารหมายเลข 7 - แผนการดำเนินกิจกรรม - ไม่โชว์ข้อมูลตอนedit
โดย jay_limm จ 21 ก.ค. 2014 6:03 pm บอร์ด Rid - ระบบบันทึกงบประมาณ
1
5
จ 21 ก.ค. 2014 6:03 pm โดย jay_limm
[MOD] Advanced Rules Page
โดย buay จ 21 ก.ค. 2014 5:38 pm บอร์ด PHPBB3 Mod Review
0
45
จ 21 ก.ค. 2014 5:38 pm โดย buay
งานประจำวันที่ 21 กรกฏาคม 2557
โดย eingeng จ 21 ก.ค. 2014 4:17 pm บอร์ด M020 - รัชนีกร จงหมั่น
2
16
จ 21 ก.ค. 2014 4:17 pm โดย eingeng
[Free] มู๊ด เพลย์: โพสท์อารมณ์พร้อมรูปถ่ายได้ด้วยกัน
โดย inexco จ 21 ก.ค. 2014 4:16 pm บอร์ด โหลดโปรแกรม พูดคุยเรื่องทั่วไป จับฉ่าย
0
48
จ 21 ก.ค. 2014 4:16 pm โดย inexco
B - งท.05 - ไม่แสดงปุ่มปฏิทินบน chrome
โดย jay_limm จ 21 ก.ค. 2014 2:11 pm บอร์ด Rid - ระบบบันทึกงบประมาณ
2
7
จ 21 ก.ค. 2014 2:11 pm โดย jay_limm
B - งท.04 - โมดูลซ้อนทับตาราง
โดย jay_limm จ 21 ก.ค. 2014 2:01 pm บอร์ด Rid - ระบบบันทึกงบประมาณ
2
7
จ 21 ก.ค. 2014 2:01 pm โดย jay_limm
รายงานประจำวันที่ 21 กรกฎาคม 2557
โดย jay_limm จ 21 ก.ค. 2014 10:01 am บอร์ด M019 - คะนึงรัตน์ ลิ่มตระกูล
1
6
จ 21 ก.ค. 2014 10:01 am โดย jay_limm
งานประจำวัน 21 กรกฎาคม 2557
โดย buay จ 21 ก.ค. 2014 9:32 am บอร์ด M018 - ณัฐกุล โนรินทร์
1
3
จ 21 ก.ค. 2014 9:32 am โดย buay
การแบ่งหน้าเพื่อการแสดงผล ค้นหา
โดย thatsawan ส 19 ก.ค. 2014 10:34 pm บอร์ด Programming - PHP
3
174
จ 21 ก.ค. 2014 12:07 am โดย thatsawan
เขียนคำสั่ง SQL JOIN TABLE เพื่อค้นหา เเต่บางคำ ค้นหาไม่ได้
โดย thatsawan ศ 18 ก.ค. 2014 10:14 pm บอร์ด SQL - Database
5
204
ส 19 ก.ค. 2014 2:20 pm โดย mindphp
ขอ extreme 1ครับ
โดย pokchaisriha ส 19 ก.ค. 2014 10:23 am บอร์ด โหลดโปรแกรม พูดคุยเรื่องทั่วไป จับฉ่าย
0
94
ส 19 ก.ค. 2014 10:23 am โดย pokchaisriha