Tự học lập trình PHP

  • [Bài 1] PHP Cơ Bản - Giới Thiệu, Hướng Dẫn Cài Đặt và Tạo Chương Trình Hello Devpro Việt Nam trong PHP

    Để máy tính có thể hiểu được cú pháp của mã lệnh viết bằng ngôn ngữ PHP chúng ta cần cài đặt phần mềm thông dịch PHP hay PHP interpreter. Phần mềm này có nhiệm vụ chuyển đổi mã lệnh trong các file PHP trở về mã lệnh binary (chỉ bao gồm số 0 và 1) mà máy tính có thể hiểu được.

    1. PHP Là Gì

    PHP viết tắt của từ Personal Home Page và là:

    • Một ngôn ngữ lập trình kịch bản viết bởi Rasmus Lerdorf và được cho ra đời vào năm 1995.

    • Một phần mềm mã nguồn mở hoàn toàn miễn phí.

    • PHP được sử dụng phổ biến hiện nay trong việc xây dựng các trang web động. Mã lệnh các trang web động viết bằng ngôn ngữ PHP được chạy trên server.

    2. PHP Là Ngôn Ngữ Lập Trình Kịch Bản

    Ngôn ngữ lập trình máy tính bao gồm các quy luật viết mã lệnh để máy tính có thể hiểu được. PHP là một ngôn ngữ lập trình.

    Ngôn ngữ lập trình kịch bản là một nhánh của ngôn ngữ lập trình trong đó cho phép máy tính có thể chạy trực tiếp các tập tin chương trình có mã lệnh được viết sử dụng loại ngôn ngữ này mà không phải thông qua các bước trung gian như biên soạn hay đóng gói phần mềm.

    3. PHP Là Phần Mềm Mã Nguồn Mở

    Để máy tính có thể hiểu được cú pháp của mã lệnh viết bằng ngôn ngữ PHP chúng ta cần cài đặt phần mềm thông dịch PHP hay PHP interpreter. Phần mềm này có nhiệm vụ chuyển đổi mã lệnh trong các file PHP trở về mã lệnh binary (chỉ bao gồm số 0 và 1) mà máy tính có thể hiểu được.

    Phần mềm thông dịch PHP là phần mềm mã nguồn mở, điều này có nghĩa bạn có thể:

    • Miễn phí tải về và sử dụng phần mềm này trên bất cứ máy tính hay máy chủ nào.

    • Có quyền tự do tùy chỉnh phần mềm này để phù hợp với nhu cầu của bạn.

    Ở bây bạn cũng lưu ý khi sử dụng thuật ngữ PHP chúng ta có thể hiểu theo hai khía cạnh:

    • Là ngôn ngữ lập trình PHP.

    • Là phần mềm thực hiện việc chuyển đổi mã lệnh viết bằng ngôn ngữ PHP về mã máy.

    Thông thường khi nói vắn tắt PHP chúng ta hiểu rằng người nói muốn đề cập tới ngôn ngữ lập trình PHP.

    4. PHP Dùng Để Xây Dựng Các Trang Web Động

    Các trang web tĩnh là các trang web được viết bằng HTML, JavaScript và CSS. Ở cùng một thời điểm, khi người dùng sử dụng trình duyệt và truy cập vào một trang web tĩnh thì tất cả họ đều sẽ nhận được một mã nguồn HTML (bao gồm cả CSS và JavaScript) giống nhau của trang.

    Ví dụ một trang web tĩnh như sau:

    Ở trang trên nội dung của trang có thể thay đổi tuy nhiên khi người dùng sử dụng trình duyệt và truy cập trang họ luôn nhận được cùng một mã nguồn HTML. Giá trị của ngày tháng và thời gian trong thẻ '' được thay đổi bởi mã lệnh JavaScript chạy trên trình duyệt của người dùng.

    Ngược lại với các trang web tĩnh, với các trang web động được viết bằng PHP thì mã nguồn HTML, JavaScript và CSS của trang sẽ được PHP tự động sinh ra trên máy chủ và có thể thay đổi tùy thuộc vào từng người dùng.

    Ví dụ một trang web động đơn giản như sau:


    Với trang trên khi người dùng xem trang họ sẽ nhận được mã lệnh HTML khác nhau vì giá trị ngày tháng và thời gian được xử lý trên server bởi PHP rồi sau đó mới gửi về cho phía trình duyệt của người dùng để hiển thị.

    5. Tại Sao Sử Dụng PHP

    PHP không chỉ giới hạn ở việc tạo ra mã lệnh HTML động trên server, với ngôn ngữ này bạn có thể xây dựng một trang web thực hiện với rất nhiều tính năng ưu việt ví dụ như:

    • Quản lý thông tin người dùng được gửi lên server: Thực hiện các chức năng đăng ký tài khoản, đăng nhập tài khoản...

    • Quản lý việc upload file lên server: Thực hiện các chức năng upload ảnh avatar, tuỳ chỉnh kích thước ảnh avatar...

    • Quản lý thông tin sử dụng cơ sở dữ liệu: Thực hiện các chức năng như cho phép người dùng tạo bài viết hoặc comment trên trang...

    Và rất nhiều tính năng khác nữa.

    6. Yêu Cầu

    Bạn cần phải có kiến thức cơ bản về những chủ đề sau:

    • HTML: Bạn cần hiểu HTML là gì và một chút ít kiến thức cơ bản về các thẻ HTML. Nếu bạn chưa có kiến thức cơ bản về HTML bạn có thể tham khảo khóa hướng dẫn về HTML Cơ Bản.

    • Cấu trúc client-server: Ngoài HTML bạn cũng cần nắm được cấu trúc hoạt động máy chủ và máy khách. Nếu bạn chưa hiểu bạn có thể tham khảo bài viết web server là gì.

    • Cách tạo và chỉnh sửa mã lệnh trong tập tin sử dụng một text editor như Notepad++ (trên Windows), hoặc TextEdit (Trên Mac OSX).

    Thông thường việc lập trình web sử dụng PHP sẽ cần tới một web server để chạy website và cơ sở dữ liệu để lưu trữ dữ liệu. Trong bài học này bạn sẽ học cách cài đặt Apache web server, cơ sở dữ liệu MySQL và chương trình PHP dùng để mã lệnh viết bằng ngôn ngữ lập trình PHP.

    7. Cài Đặt Trên Windows

    Để cài đặt PHP Trên Windows bạn có thể sử dụng gói phần mềm XAMPP. Gói phần mềm này bao gồm Apache là phần mềm web server, MySQL là phần mềm quản lý cơ sở dữ liệu và phần mềm PHP để chạy chương trình viết bằng ngôn ngữ lập trình PHP.

    Đầu tiên bạn tải XAMPP về từ đây. Sau đó nhấp đúp vào file tải về và tiến hành cài đặt. Việc cài đặt XAMPP khá đơn giản với các lựa chọn mặc định đã được để sẵn cho bạn. Bạn lưu ý trong khi cài đặt XAMPP sẽ hỏi bạn vị trí thư mục trên máy tính để lưu trữ source code website. Bạn có thể chọn như theo mặc định là thư mục C:\Program Files\XAMPP như hình dưới đây: 

    Sau khi cài đặt xong và bấm Finish phần mềm XAMPP sẽ được khởi động theo mặc định. Lúc này bạn sẽ thấy cửa sổ như sau:

    Để khởi động Apache và MySQL bạn cần bấm vào các nút Start nằm cùng dòng ở phía bên trái so với tên của các chương trình này.

    Để kiểm tra Apache web server bạn mở trình duyệt và truy cập vào địa chỉ http://localhost bạn sẽ thấy một trang web mặc định chứa thông tin của XAMPP hiện lên.

    8. Cài Đặt Trên Mac OSX

    Trên hệ điều hành Mac OSX các phần mềm Apache, MySQL và PHP có thể được cài đặt sử dụng gói phần mềm XAMPP tương tự như hệ điều Windows ở trên.

    9. Cài Đặt Trên Ubuntu

    Trên Ubuntu bạn có thể cài đặt Apache, MySQL và PHP sử dụng cửa sổ dòng lệnh. Khởi động cửa sổ dòng lệnh sử dụng tổ hợp phím tắt Ctrl + Alt + T hoặc bấm tổ hợp phím Windows + A rồi tìm kiếm cho từ khoá terminal và nhấp vào biểu tượng chương trình đầu tiên trong kết quả hiện ra.

    Tiếp theo trên cửa sổ dòng lệnh bạn chạy câu lệnh dưới đây để cài đặt Apache web server:

    $ sudo apt-get install apache2

    Nhập mật khẩu của bạn để tiến hành cài đặt.

    Sau đó chạy tiếp câu lệnh sau để cài đặt MySQL:

    $ sudo apt-get install mysql-server

    Sau đó cài đặt chương trình PHP php5 và thư viện tương ứng libapache2-mod-php5 để chạy cùng với Apache:

    $ sudo apt-get install php5 libapache2-mod-php5

    Cuối cùng bạn chạy câu lệnh sau để khởi động Apache:

    $ sudo /etc/init.d/apache2 restart

    Mở trình duyệt và truy cập vào địa chỉ http://localhost để kiểm tra hoạt động của Apache bạn sẽ thấy một trang web mặc định được hiển thị.

    Trong bài học này chúng ta sẽ tạo một chương trình viết bằng ngôn ngữ PHP đầu tiên. Chương trình này sẽ đơn giản hiển thị dòng chữ Hello World khi chạy. Chương trình với tính năng như vậy thường được dùng khi bắt đầu học một ngôn ngữ lập trình được đặt tên là Hello World.

    10. Tạo Chương Trình Hello Devpro Việt Nam

    Để bắt đầu tạo chương trình Hello Devpro Việt Nam bạn mở chương trình text editor trên máy tính của bạn và tạo một tập tin mới với nội dung như sau:

    
    

    Tiếp theo bạn lưu tập tin này với tên hello_devpro.php vào địa chỉ thư mục gốc của Apache.

    • Đối với Windows và Mac OSX. thư mục gốc của Apache có tên là htdocs và nằm trong thư mục cài đặt XAMPP.

    • Đối với hệ điều hành Ubuntu thư mục gốc thường nằm ở địa chỉ /var/www/html/.

    Trên hệ điều hành Windows, cả Notepad và Notepad++ lưu tập tin với phần mở rộng mặc định là .txt. Trường hợp bạn sử dụng Notepad hoặc Notepad++ thì khi lưu tập tin các bạn cần lưu ý chọn phần mở rộng là .php chứ không phải là .txt.

    Các tập tin của PHP thông thường sẽ được lưu dưới phần mở rộng là .php.

    11. Chạy Chương Trình Hello Devpro Việt Nam

    Có hai cách để có thể chạy chương trình Hello Devpro Việt Nam đó là sử dụng Apache web server hoặc chạy trực tiếp thông qua chương trình biên soạn PHP (PHP interpreter).

    * Sử Dụng Apache Web Server

    Chạy chương trình Hello World có thể được chạy thông qua Apache web server. Trên máy tính bạn Mở trình duyệt và truy cập vào địa chỉ http://localhost/hello_devpro.php.

    Khi nhận được yêu cầu gửi tới thì quy trình xử lý request trên server sẽ diễn ra như sau:

    • Apache dựa trên phần mở rộng của tập tin và xác định tập tin được viết bằng ngôn ngữ PHP.

    • Apache sẽ chuyển tiếp request trên tới cho chương trình biên dịch PHP interpreter để xử lý.

    • Chình phiên dịch PHP sẽ xử lý nội dung tập tin hello_devpro.php và sau khi xử lý xong sẽ trả kết quả về cho Apache.

    • Cuối cùng Apache gửi kết quả về cho trình duyệt người dùng.

    * Sử Dụng PHP Interpreter

    Cách thử hai để chạy chương trình Hello Devpro Việt Nam đó là sử dụng chương trình thông dịch PHP interpreter một cách trực tiếp trên cửa sổ dòng lệnh.

    Để mở cửa sổ dòng lệnh:

    • Trên Windows cửa sổ dòng lệnh được mở nhờ sử dụng chương trình Command Line Prompt. Để mở chương trình này bạn bấm vào start menu nhập vào ô tìm kiếm cmd.exe và click vào biểu tượng chương trình này.

    • Trên Linux hoặc Mac OSX cửa sổ dòng lệnh có thể được mở nhờ sử dụng chương trình terminal. Tên Ubuntu bạn sử dụng tổ hợp phím Ctrl +Alt + T. Trên Mac OSX bạn mở Launchpad và sau đó tìm kiếm chương trình bằng từ khoá terminal.

    Trên cửa sổ dòng lệnh của Windows bạn nhập vào câu lệnh dưới đây sau đó bấm Enter để chạy (thay đổi địa chỉ của tập tin php.exe bằng địa chỉ sử dụng trên máy tính của bạn):

    C:\> C:\xampp\bin\php\php.exe C:\xamp\htdocs\hello_devpro.php

    Trên cửa sổ dòng lệnh của Linux hoặc Mac bạn nhập vào câu lệnh dưới đây sau đó bấm Enter để chạy:

    $ php /var/www/html/hello_devpro.php

    Tới đây bạn đã tìm hiểu cách tạo ra chương trình Hello Devpro Việt Nam đầu tiên sử dụng ngôn ngữ lập trình PHP. Ở bài học tiếp theo chúng ta sẽ tìm hiểu rõ hơn về chương trình Hello Devpro Việt Nam vừa tạo ra.

    Bài học PHP cơ bản khác bạn nên đọc:

    Nguồn: https://devpro.edu.vn/

Đánh giá của học viên đã tốt nghiệp

  • Các anh chị nhiệt tình, thân thiện. Em được mở mang nhiều kiến thức

    Nguyễn Hằng ly
  • Các chị dạy rất dễ hiểu và nhiệt tình. Các kiến thức như trong thực tế khi em đi thực tập tại RikkeiSoft. Cám ơn các anh chị nhiều ạ. Chúc Dev có nhiều học viên hơn nữa.

    Vũ Thị Hà Phương
  • Học ở DevPro đã giúp mình có nhiều kinh nghiệm lập trình android thực tế. Tại đây mình được các thầy dạy rất chi tiết theo một lộ trình rõ ràng của dự án cụ thể nên sau này đi làm mình rất dễ bắt nhịp với công việc.

    Nguyễn Trọng Duy
  • Qua khoá học ở DevPro thì em đã có một “ít” vốn trong tay để có thể "bò" trong lĩnh vực vạn người mê này Trong qúa trình học thì em cảm thấy trung tâm suppost rất nhiệt tình từ đồ ăn tối, event và đầu ra :p. Có chị Quyên "sinh gái" siêu nhây và siêu lầy dụ dỗ bán rẻ học viên cho các nhà tuyển dụng :3 **** Đặc biệt các thầy có rất nhiều kinh nghiệm chỉ dạy và giúp đỡ rất nhiệt tính < mấy tháng liền bám càng đi nhờ thấy :p>

    PhạmTiến Đạt
  • Tôi sẽ không khuyên các bạn phải đến DevPro để học tập thay vì những chỗ khác nhưng tôi đã từng là một người giống các bạn. Tôi băn khoăn không biết chọn nơi đâu làm ngọn đèn chỉ lối và tôi đến với Devpro . Mọi người khá hoà đồng , các thầy cũng cực nhiệt tình nhưng cũng có vốn kiến thức rất rộng còn lại là phụ thuộc vào sự nỗ lực của các bạn nữa thôi. Cố lên nhé. #ATran

    Trần Xuân Ái
  • em thấy mọi thứ đều ổn, thầy giáo nhiệt tình trong cách giảng dậy, dev cũng rất quan tâm học viên . Nhưng theo quan điểm của em và nhìn từ sự phát triển của các trung tâm khác , em nghĩ mỗi khóa học ở dev nên có bài tập cũng như dự án giao cho học sinh làm để tạo áp lực cho học viên code, giữa học viên và công ty cần có những buổi giao lưu nhiều hơn, và cũng nên có 1 số bạn trợ giảng giúp thầy đi fix những lỗi cơ bản cho những bạn hay sai , chứ nhiều khi 1 mình thầy mà phải chạy đến từng bàn fix lỗi cũng k xuể , Xin chúc devpro ngày càng phát triển hơn

    Nguyễn Đình Thành
  • Thầy giáo dạy rất nhiệt tình rất dễ hiểu, các chị quản lý vui vẻ, tạo động lực học viên. Bài giảng phong phú bao gồm nhiều kiến thức nền tảng. .., giúp học viên nắm chắc kiến thức. Có điều lớp toàn nam, ko có nữ ạ

    Vũ Văn Thủy
  • -Thầy giáo rất nhiệt tình trong công tác giảng dạy , cũng như vui tính , thầy luôn giúp đỡ bọn e rất nhiệt tình ! Tuy chỉ học với lớp 1 thời gian không quá dài nhưng e cũng cảm thấy tuyệt vời vì đã từng là học trò của thầy ! - Chị Hằng và Chị Quyên rất vui tính và nhiệt tình giúp đỡ bọn e nữa ạ - e chúc trung tâm ngày càng đông học viên hơn nữa

    Phan Trung Phú
  • DevPro là một môi trường tốt để cho những ai chưa biết gì về lập trình theo học. Bên cạnh đó, đội ngũ giảng viên rất chất lượng, nhiệt tình chỉ bảo cả trên lớp lẫn ở nhà. Ngoài ra tôi rất thích chính sách giới thiệu việc làm cho học viên sau khi tốt nghiệp để có thể tiếp với các doanh nghiệp uy tín. Sau hơn 4 tháng học tập tại công ty, tôi đã hoàn toàn tự tin rằng mình có thể tự học hỏi và bắt đầu làm việc ở một công ty mới với vai trò Web Developer. Cảm ơn DevPro vì tất cả!!

    Nguyễn Đức Huy
  • Học một lúc 2 trường, nhưng mình vấn chưa biết tìm đam mê từ đâu. Từ lúc gặp chị Hằng mình đã quyết chọn theo android, và bây giờ mình chưa bao giờ thấy hạnh phúc đến thế. Mình có công việc ổn định, chuẩn bị onsite ở nhật 1 năm hi hi.

    Trần An Hưng
  • 1.Thầy đẹp trai thì không phải bàn rồi!! Lại được cái nhiệt tình!! ok. 2. Công ty có nhiệt tình hỗ trợ không? Công ty có nhiệt tình hỗ trợ sinh viên, vd:tiền học phí được chia làm 3 đợt giúp đỡ những sv khó khăn,.....

    Trương Quang Trường
  • Em thấy trung tâm dạy tốt và chất lượng ạ. Thầy và các chị đều tận tâm, nhiệt tình và hòa đồng. Đặc biệt là giải lao giữa giờ chúng em còn được ăn nhẹ, e rất thích khoản này.

    Trần Thị Hồng Nhung
  • Tại DevPro mình còn được học code trên tool mới nhất của Android, điều đó càng khiến mình thích thú hơn và trở nên say mê từ lúc nào không biết nữa. Không khí học ở đây rất vui vẻ, ngoài giờ học mình cùng các bạn còn được giải lao ăn nhẹ và trò chuyện cùng nhau nên rất thoải mãi.

    Trương Ngọc Đức
  • Dev chính là nơi giúp mình tìm thấy niềm yêu thích code, cũng chính là nơi đã cho mình những bước đi đầu tiên, cho mình những kiến thức nền tảng tốt nhất trên con đường theo đuổi nghề Dev.

    Nguyễn Thanh Hằng
  • Thầy giáo vui tính, nhiệt tình trả lời và giúp đỡ các bạn khi các bạn có thắc mắc hay khi gặp khó khăn. Các anh chị vui tính, thân thiện tạo cảm giác thoải mái và vui vẻ cho các bạn khi học ở đây.

    Cao Minh Lâm
  • Nghĩ lại hồi đấy, không có Devpro thì chắc giờ em phát rồ mất thôi! Em vốn nghĩ mình có thể tự học được, nhưng kiến thức vốn là vô tận, không có người hướng dẫn thì mình sẽ chẳng biết bắt đầu dư lào, bước tiếp là gì? Nhờ DevPro, sự tận tâm của các thầy mà em mới biết à hóa ra mọi thứ thật đơn giản.

    Kim Erico
  • Hồi học ở DevPro, mình rất quý thầy Việt và những người bạn. Từ kiến thức học được từ trung tâm mình đã mạnh dạn đi thực tập ở một công ty lớn của Nhật Bản và đến giờ đã là nhân viên chính thức ở đây rồi. Vui hơn nữa là có bạn học cùng lớp đó giờ đang là đồng nghiệp cùng mình luôn rồi. Hihi

    Nguyễn Thanh Việt
Nguyễn Hằng ly Vũ  Thị Hà Phương Nguyễn Trọng Duy PhạmTiến Đạt Trần Xuân Ái Nguyễn Đình Thành Vũ Văn Thủy Phan Trung Phú Nguyễn Đức Huy Trần An Hưng Trương Quang Trường Trần Thị Hồng Nhung Trương Ngọc Đức Nguyễn Thanh Hằng Cao Minh Lâm Kim Erico Nguyễn Thanh Việt
DevPro Việt Nam