Hướng dẫn dùng create element trong PHP

Trong một tài liệu HTML, phương thức createElement[] tạo ra phần tử HTML được chỉ định bởi tagName, hoặc một HTMLUnknownElement nếu tagName không được nhận ra.

Cú pháp

var element = document.createElement[tagName];

tagName:

Là thẻ HTML mà bạn muốn tạo mới. Không sử dụng tên đủ điều kiện [như “html: a“] với phương thức này. Khi được gọi, createElement[] chuyển đổi tagName thành chữ thường trước khi tạo phần tử. Trong Firefox, Opera và Chrome, createElement[null] hoạt động như createElement["null"].

Giá trị trả về

Trả về Element mới.

Ví dụ

HTML



    Working with elements


    
The text above has been created dynamically.

JavaScript

document.body.onload = addElement;

function addElement [] { 
    // create a new div element 
    var newDiv = document.createElement["div"]; 
    // and give it some content 
    var newContent = document.createTextNode["Hi there and greetings!"]; 
    // add the text node to the newly created div
    newDiv.appendChild[newContent];  

    // add the newly created element and its content into the DOM 
    var currentDiv = document.getElementById["div1"]; 
    document.body.insertBefore[newDiv, currentDiv]; 
}

Kết quả

Tính tương thích của trình duyệt web

Trình duyệt trên máy tính

Trình duyệt Tương thích
Chrome
Edge
FireFox
Internet Eplorer
Opera
Safari

Trình duyệt trên thiết bị di động

Trình duyệt Tương thích
Android Webview
Chrome for Android
Edge Mobile
FireFox for Android
Opera
iOS Safari
Samsung Internet ?

Tham khảo:

  • Web APIs: Đối tượng Document
  • Web APIs: Đối tượng Node

Nội dung chính

  • Tính tương thích của trình duyệt web
  • Trình duyệt trên máy tính
  • Trình duyệt trên thiết bị di động
  • Tham khảo:
  • Tạo Documentation cho API’s
  • Cài đặt Sami
  • Clone GitHub App
  • Tạo file config.php
  • Configure Git Versions
  • Tạo Custom Themes [Các chủ đề tuỳ chỉnh]
  • Lời cuối

Trong một tài liệu HTML, phương thức createElement[] tạo ra phần tử HTML được chỉ định bởi tagName, hoặc một HTMLUnknownElement nếu tagName không được nhận ra.

Cú pháp

var element = document.createElement[tagName];

tagName:

Là thẻ HTML mà bạn muốn tạo mới. Không sử dụng tên đủ điều kiện [như “html: a“] với phương thức này. Khi được gọi, createElement[] chuyển đổi tagName thành chữ thường trước khi tạo phần tử. Trong Firefox, Opera và Chrome, createElement[null] hoạt động như createElement["null"].

Giá trị trả về

Trả về Element mới.

Ví dụ

HTML



    Working with elements


    
The text above has been created dynamically.

JavaScript

document.body.onload = addElement;

function addElement [] { 
    // create a new div element 
    var newDiv = document.createElement["div"]; 
    // and give it some content 
    var newContent = document.createTextNode["Hi there and greetings!"]; 
    // add the text node to the newly created div
    newDiv.appendChild[newContent];  

    // add the newly created element and its content into the DOM 
    var currentDiv = document.getElementById["div1"]; 
    document.body.insertBefore[newDiv, currentDiv]; 
}

Kết quả

Tính tương thích của trình duyệt web

Trình duyệt trên máy tính

Trình duyệt Tương thích
Chrome
Edge
FireFox
Internet Eplorer
Opera
Safari

Trình duyệt trên thiết bị di động

Trình duyệt Tương thích
Android Webview
Chrome for Android
Edge Mobile
FireFox for Android
Opera
iOS Safari
Samsung Internet ?

Tham khảo:

  • Web APIs: Đối tượng Document
  • Web APIs: Đối tượng Node

Các developers thường viết ra một lượng lớn code bao gồm API và các thành phần khác trong các dự án trung bình cho đến lớn. Mặc dù có một quy ước về viết code, mỗi developer đều có một bình luận cá nhân và các tiêu chuẩn viết tài liệu. Một số thêm các ghi chú khó hiểu nhỏ trong khi những người khác đính kèm tài liệu Google Docs đầy đủ ghi lại method hoặc class một cách chi tiết. Vấn đề này trở nên rất nghiêm trọng khi số lượng end users ngày càng tăng lên và cần phải có tài liệu hướng dẫn thích hợp cho dự án. Trong trường hợp các API, đặc biệt là các REST APIs, một công cụ tạo ra REST API document trở nên cần thiết vì sự phân bố và sử dụng rộng rãi của API.

Bây giờ tôi sẽ bắt đầu ví dụ với một đoạn code:

namespace SearchElastic;
 
use SearchElastic\SearchAbstract\SearchAbstract;
 
/**
 
*  Class to perform basic search extends from SearchElastic\SearchAbstract\SearchAbstract
 
*/
 
class Search extends SearchAbstract
 
{
 
   /**
 
    * Search in Elasticsearch.
 
    *
 
    * @param  string  $query
 
    * @return Result from elasticsearch
 
    */
 
   public function search[$query]
 
   {
 
       $this->validate[$query];
 
       $client = $this->client->getClient[];
 
       $result = array[];
 
       // Change the match column name with the column name you want to search in it.
 
       $params = [
 
               'index' => $this->client->getIndex[],
 
               'type'  => $this->client->getType[],
 
               'body'  => [
 
                   'query' => [
 
                       'match' => [ $this->searchColumn => $query],
 
                   ],
 
               ],
 
           ];
 
       $query  = $client->search[$params];
 
       return  $this->extractResult[$query];
 
   }
 
}

Hãy chú ý về đoạn comment của đoạn code trên:

/**

    * Search in Elasticsearch.

    *

    * @param  string  $query

    * @return Result from elasticsearch

    */

Kiểu comment dài này được gọi là DocBlock, một comment nhiều dòng được khai báo ở trên cùng của việc thực hiện bất kỳ một class, interface, method, attributes và properties,... Những comment này thường nói với người đọc [developer hoặc end user] về hoạt động mà code thực hiện, parameter được yêu cầu, và dữ liệu được trả về. Bạn có thể thêm thông tin vào DocBlock.

Một DocBlock bắt đầu bằng một dấu gạch chéo và hai dấu hoa thị [/ **], nó giống như bắt đầu của một comment nhiều dòng nhưng thêm vào 1 dấu hoa thị nữa, và kết thúc bằng một dấu hoa thị và dấu gạch chéo phía trước [* /]. Nó cũng chứa các thẻ, chú thích và mô tả để xác định namespaces và class insants.

Tạo Documentation cho API’s

DocBlocks rất quan trọng bởi vì chúng được sử dụng bởi một Symfony document generator package nổi tiếng được gọi là Sami. Rất phổ biến trong cộng đồng PHP, Sami cũng cung cấp khả năng tạo các mẫu custom twig templates và làm việc với các tài liệu phiên bản trên GitHub.

Trong bài này, tôi sẽ sử dụng dữ liệu Sami và một dự án trên GitHub Sync Mysql data with Elasticsearch để tự động tạo tài liệu.

Cài đặt Sami

SSH đến thư mục của dự án sau đó chạy command composer như sau:

composer require sami/sami

Sau khi cài đặt, bạn có thể kiểm tra xem Sami đã được cài đặt đúng cách và có đã sẵn sàng hoạt động hay không. Để làm điều này, hãy chạy lệnh sau:

$ php vendor/sami/sami/sami.php

Bạn sẽ nhận được output như sau:

Điều này cho thấy rằng Sami đã sẵn sàng để tạo ra document.

Clone GitHub App

Gần đây, tôi đã phát hiện ra một package tuyệt vời là Sync Mysql data to Elasticsearch có comments và Docblocks thích hợp.

Để bắt đầu, bạn nên clone package này vào ứng dụng của bạn, sử dụng command sau:

$ git clone //github.com/ahmedkhan847/mysqlwithelasticsearch.git

Nếu bạn xem các files trong thư mục src của package này, bạn sẽ thấy các comment thích hợp được thêm vào tất cả các code blocks. Những block này giúp Sami hiểu structure và properties của các comonents trong package.

Tạo file config.php

Bạn cần phải tạo một file config.php trong thư mục config trong thư mục gốc. Sami đọc file này và tạo ra các file document cho phù hợp. Yêu cầu tối thiểu cho quá trình tạo document là đường dẫn thư mục mà code được lưu giữ.

Đây là những gì để bao gồm trong config.php:

Chủ Đề