Đọc dòng php

Nếu các bạn là người làm việc trong lĩnh vực công nghệ thông tin, dù không chuyên code php nhưng chắc chắn các bạn đã ít biết đến hoặc có cơ hội làm việc với nó. Nó là một ngôn ngữ lập trình đã có và khá phổ biến trên Thế giới hiện nay. PHP giúp những nhà phát triển web chỉ trong một thời gian ngắn có thể tạo ra những ứng dụng web vô cùng tuyệt vời. Đúng như vậy, ngay từ những dòng giới thiệu trên trang php manual, chúng ta có thể dễ dàng nhìn thấy

PHP (từ viết tắt đệ quy của PHP. Bộ tiền xử lý siêu văn bản) là ngôn ngữ kịch bản mã nguồn mở có mục đích chung được sử dụng rộng rãi, đặc biệt phù hợp để phát triển web và có thể được nhúng vào HTML

Tạm dừng dịch

PHP (Viết tắt quy định của. Hypertext Preprocessor) là một ngôn ngữ kịch bản mã nguồn mở được sử dụng rộng rải đặc biệt phù hợp để phát triển web và có thể nhúng vào trong các thẻ HTML

Nó gần như có nghĩa là "PHP chỉ sinh ra để giành quyền phát triển ứng dụng web và ứng dụng web riêng mà thôi". Vâng, việc php phù hợp với ứng dụng web là điều không cần phải bàn cãi. Nhưng liệu php còn có những ứng dụng nào khác hữu ích hay đơn giản hơn là nó cung cấp cho chúng ta những công cụ để làm việc với những thành phần khác trong hệ thống không? . Ngoài bộ công cụ giành cho việc phát triển web thì php còn cung cấp cho chúng ta rất nhiều câu lệnh dòng lệnh, cái mà giúp chúng ta có thể làm việc dễ dàng trong màn hình console (terminal). Tiêu biểu, một số php framework nổi tiếng hiện nay như Symfony hay Laravel thực sự đã giúp việc sử dụng dòng lệnh của php đơn giản và tuyệt vời hơn bao giờ hết. Và trong bài viết này, tôi xin cùng các bạn đang tìm hiểu PHP CLI (PHP Command Line Interface) cũng như một số câu lệnh thông ứng dụng

Giới thiệu

PHP CLI (PHP Command Line Interface) cung cấp cho chúng ta những câu lệnh sử dụng trong hệ thống dòng lệnh. Hay nói cách khác, đó là cách chúng ta sử dụng php mà không cần sử dụng đến máy chủ web (apache2, nginx,. ). Nó áp dụng tất cả những lợi thế của script shell cho phép tạo ra những câu lệnh hỗ trợ hoặc hệ thống ứng dụng ứng dụng

Về cơ bản, lệnh php cli có dạng như sau

$ php [options] <required> [args...]
# options là các tùy chọn. (ví dụ: --a, -r, ...)
# required là thành phần bắt buộc. (ví dụ: /path/to/php_script.php, php string code, ...)
# args là những tham số mở rộng có thể được dùng thêm.

Để trực tiếp quan trọng hơn, ngay lúc này, bạn hãy mở màn hình Command Prompt (Windows) hoặc Terminal (Ubuntu). Lưu ý các bạn phải cài đặt php trước nhé. Sau đó, để chắc chắn rằng php đã được cài đặt và kích hoạt trong hệ thống, các bạn hãy nhập lệnh sau

$ php -v #  php --version
PHP 7.1.1 (cli) (built: Jan 18 2017 18:51:14) ( ZTS MSVC14 (Visual C++ 2015) x86 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

Như hình vẽ, các bạn có thể thấy rằng máy tính của tôi đang sử dụng php với phiên bản 7. 1. 1 Và để liệt kê chi tiết hơn các lệnh mà chúng ta có thể sử dụng, các bạn có thể sử dụng lệnh sau

$ php -h # php --help
Usage: php.exe [options] [-f] <file> [--] [args...]
   php.exe [options] -r <code> [--] [args...]
   php.exe [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
   php.exe [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
   php.exe [options] -S <addr>:<port> [-t docroot]
   php.exe [options] -- [args...]
   php.exe [options] -a

  -a               Run as interactive shell
  -c <path>|<file> Look for php.ini file in this directory
  -n               No configuration (ini) files will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S <addr>:<port> Run with built-in web server.
  -t <docroot>     Specify document root <docroot> for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --rz <name>      Show information about Zend extension <name>.
  --ri <name>      Show configuration for extension <name>.

Có thể thấy PHP CLI cung cấp cho chúng ta khá nhiều câu lệnh đúng không?

Sử dụng PHP CLI

Trong phần này, tôi sẽ hướng dẫn cụ thể về việc sử dụng một số câu lệnh mà tôi hay sử dụng và cảm thấy rất hữu ích

1. Thực thi các kịch bản trong một tệp. php cụ thể

  • cú pháp. php [--file] (Bạn có thể bỏ tùy chọn --file)
  • Để thực hiện ví dụ này, các bạn hãy tạo ra một tệp. php với một số tùy chọn câu lệnh. Ở đây, tôi sẽ tạo ra tệp do_you_love_php. php with after


echo 'Do you love php? Join with me.';

// Viết mọi câu lệnh php bạn muốn.
  • Sau đó, trong bảng điều khiển màn hình, bạn hãy nhập lệnh sau
$ php do_you_love_php.php # Tôi đã chuyển đến thư mục chứa tệp nên chỉ cần gõ tên tệp
You you love php? Join with me.
  • Như vậy, lệnh echo trong tệp do_you_love_php. php đã được thực thi và xuất ra dòng chữ như tôi viết. Đây là một trong những câu lệnh tôi rất hay sử dụng nhất. Thay vì mở trình duyệt, gọi đến kịch bản php mong muốn thông qua máy chủ web thì tôi thường viết và thực thi ngay trên màn hình console

2. Thực thi một đoạn kịch bản php mà không cần dùng cặp thẻ ""

  • Cú pháp: php -r <"php_string_code">
  • Hãy cùng tôi điểm qua một số ví dụ sau
$ php -r "echo 'Have you every writen php code?';"
Have you every writen php code?
$ php -r "echo 'This is a hashed text: ' . md5('your string you wanna hash');"
This is a hashed code: e7f5c467261408d1aa2f8492218f98e0
$ php -r "echo 'Now is ' . date('H:i:s d/m/Y');"
Now is 13:59:36 27/08/2017
  • Với cách này, tôi có thể kiểm tra rất nhanh các kết quả mà mình mong muốn thay vì phải viết ra một tệp php. Nó cực kỳ hữu ích trong các trường hợp mà bạn muốn thử kết quả của một số hàm có sẵn và bắt đầu đơn giản

3. View information function, layer,

  • Cú pháp: php --rf # Show information about function . php --rc # Show information about class .
$ php --rf md5 # Hiện ra thông tin của một hàm.
Function [ <internal:standard> function md5 ] {

  - Parameters [2] {
    Parameter #0 [  $str ]
    Parameter #1 [  $raw_output ]
  }
}

$ php --rc class # Xuất ra thông tin của một lớp.
Class [ <internal:Core> class Exception implements Throwable ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [11] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [  $message ]
        Parameter #1 [  $code ]
        Parameter #2 [  $previous ]
      }
    }

    Method [ <internal:Core> public method __wakeup ] {
    }

    Method [ <internal:Core, prototype Throwable> final public method getMessage ] {
    }

    Method [ <internal:Core, prototype Throwable> final public method getCode ] {
    }

    Method [ <internal:Core, prototype Throwable> final public method getFile ] {
    }

    Method [ <internal:Core, prototype Throwable> final public method getLine ] {
    }

    Method [ <internal:Core, prototype Throwable> final public method getTrace ] {
    }

    Method [ <internal:Core, prototype Throwable> final public method getPrevious ] {
    }

    Method [ <internal:Core, prototype Throwable> final public method getTraceAsString ] {
    }

    Method [ <internal:Core, prototype Throwable> public method __toString ] {
    }
  }
}
  • Các bạn có thể thấy, chỉ với một câu lệnh cực kỳ đơn giản, tôi đã nhanh chóng xem được một hàm hoặc một lớp của php có những thành phần gì

4. Thực thi các đoạn lệnh tương tác

  • cú pháp. php -a
php -a
Interactive shell

php > echo 'This is the first statement.';
This is the first statement.
php > echo 'This is the second statement.';
This is the second statement.
php > echo 'This is the third statement.';
This is the third statement.
  • Thay vì thực thi từng đoạn lệnh ngắn với php -r, khi kích hoạt Interactive shell, bạn sẽ có thể liên tục thực hiện các lệnh mà mình mong muốn. Nó rất phù hợp khi bạn muốn thử những kết quả cụ thể của một cách liền mạch
end

Như vậy, tôi và các bạn đã cùng nhau tìm hiểu cũng như thực hiện một số ví dụ với PHP CLI, một thành phần khá hay hữu ích của ngôn ngữ này. Đến đây, tôi rất mong các bạn có cơ hội làm việc với php có thể tìm đến và sử dụng các câu lệnh hữu ích cho riêng mình. Và sau đó, cùng nhau chia sẻ những kiến ​​thức bổ ích