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
กระทู้ล่าสุดจากบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
โดย
finally ใน php5.5 ใช้งานอย่างไร
โดย chbbk จ 20 ต.ค. 2014 2:30 pm บอร์ด Programming - PHP
0
1
จ 20 ต.ค. 2014 2:30 pm โดย chbbk
การใช้งาน empty() ใน PHP5.5 ?
โดย chbbk จ 20 ต.ค. 2014 1:40 pm บอร์ด Programming - PHP
0
2
จ 20 ต.ค. 2014 1:40 pm โดย chbbk
eXtreme Karaoke 2557 One2up เอาไว้ร้องวัน ลอยกระทง+ปีใหม่ 2014 | + SoundFont
โดย yunjaeked จ 20 ต.ค. 2014 1:26 pm บอร์ด โหลดโปรแกรม พูดคุยเรื่องทั่วไป จับฉ่าย
0
5
จ 20 ต.ค. 2014 1:26 pm โดย yunjaeked
error: Upgrade phpBB 3.1RC4 -> RC5
โดย thatsawan จ 20 ต.ค. 2014 10:36 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
0
8
จ 20 ต.ค. 2014 10:36 am โดย thatsawan
งานประจำวันที่ 20 ตุลาคม 2557
โดย offing จ 20 ต.ค. 2014 10:04 am บอร์ด M023 - อรรถชัย แซ่เจียง
0
1
จ 20 ต.ค. 2014 10:04 am โดย offing
งานประจำวันที่ 18 ตุลาคม 2557
โดย offing ส 18 ต.ค. 2014 10:13 am บอร์ด M023 - อรรถชัย แซ่เจียง
1
2
ส 18 ต.ค. 2014 10:13 am โดย offing
การใช้ CONCAT_WS
โดย offing ศ 17 ต.ค. 2014 2:47 pm บอร์ด SQL Knowledge
0
54
ศ 17 ต.ค. 2014 2:47 pm โดย offing
การใช้ cross join
โดย offing ศ 17 ต.ค. 2014 2:36 pm บอร์ด SQL Knowledge
0
38
ศ 17 ต.ค. 2014 2:36 pm โดย offing
R - ปรับโมดูล Latest News ให้มันเลื่อนขึ้นไปเสมอกับ Login Module ทางด้านขวา
โดย mindphp ศ 17 ต.ค. 2014 1:26 pm บอร์ด Evo - Upgrade Joomla 1.5 to 2.5
3
6
ศ 17 ต.ค. 2014 1:26 pm โดย mindphp
งานประจำวันที่ 17 ตุลาคม 2557
โดย offing ศ 17 ต.ค. 2014 9:07 am บอร์ด M023 - อรรถชัย แซ่เจียง
1
4
ศ 17 ต.ค. 2014 9:07 am โดย offing
แก้ปัญหา Firefox เปิดแล้ว หน้าจอดำ หลังการอัพเกรด เป็นเวอร์ชั่น 33
โดย mindphp ศ 17 ต.ค. 2014 3:46 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
212
ศ 17 ต.ค. 2014 3:46 am โดย mindphp
แบ่งหมวด Private Knowledge แบ่งหมวดตาม Group
โดย thatsawan พฤ 16 ต.ค. 2014 4:49 pm บอร์ด Mindphp
0
1
พฤ 16 ต.ค. 2014 4:49 pm โดย thatsawan
ซื้อคอมสำหรับพนักงานใหม่ ด้วยค่ะ
โดย thatsawan พฤ 16 ต.ค. 2014 4:39 pm บอร์ด Mindphp
0
2
พฤ 16 ต.ค. 2014 4:39 pm โดย thatsawan
ช่วยหน่อยได้มัยย... แฟนงอลควรทำอย่างไรดี
โดย Anonymous พ 15 ต.ค. 2014 9:11 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
2
101
พฤ 16 ต.ค. 2014 1:14 pm โดย tsukasaz
งานประจำวันที่ 16 ตุลาคม 2557
โดย offing พฤ 16 ต.ค. 2014 10:19 am บอร์ด M023 - อรรถชัย แซ่เจียง
1
4
พฤ 16 ต.ค. 2014 10:19 am โดย offing
Process / ความคืบหน้า
โดย tsukasaz พ 15 ต.ค. 2014 6:33 pm บอร์ด General talk
1
5
พ 15 ต.ค. 2014 6:33 pm โดย tsukasaz
ตารางงานบัญชี
โดย prem_rattana พ 15 ต.ค. 2014 5:34 pm บอร์ด M.D.Soft
0
3
พ 15 ต.ค. 2014 5:34 pm โดย prem_rattana
วิธีการเรียกใช้ jquery เบื้องต้น
โดย offing พ 15 ต.ค. 2014 3:27 pm บอร์ด Jquery & Ajax Knowledge
0
61
พ 15 ต.ค. 2014 3:27 pm โดย offing
ทัศนคติในการทำงาน - 2014-10-15
โดย mindphp พ 15 ต.ค. 2014 2:09 pm บอร์ด Weekly Knowledge
0
4
พ 15 ต.ค. 2014 2:09 pm โดย mindphp
งานประจำวันที่ 15 ตุลาคม 2557
โดย offing พ 15 ต.ค. 2014 9:47 am บอร์ด M023 - อรรถชัย แซ่เจียง
1
5
พ 15 ต.ค. 2014 9:47 am โดย offing