<?xml version="1.0" encoding="UTF-8" ?>
<rss
    version="2.0"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:webfeeds="http://webfeeds.org/rss/1.0"
    xmlns:media="http://search.yahoo.com/mrss/"
    >
    <channel>
        <title>Atbest-practices Tag - Viblo</title>
        <link>https://viblo.asia/rss</link>
        <description><![CDATA[Free service for technical knowledge sharing]]></description>
        <atom:link href="https://viblo.asia/rss/tags/atbest-practices.rss" rel="self"></atom:link>
                <copyright>Sun* Inc.</copyright>
                                                <webfeeds:logo>https://viblo.asia/logo_full.svg</webfeeds:logo>
        <image>
            <url>https://viblo.asia/logo_full.svg</url>
            <title>Atbest-practices Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-07-31T13:26:01+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Kiểm tra sự tồn tại của hàm trong PHP với function_exists(): &quot;Chiếc khiên&quot; phòng thủ khi viết code đa môi trường]]></title>
                        <link>https://viblo.asia/p/kiem-tra-su-ton-tai-cua-ham-trong-php-voi-function-exists-chiec-khien-phong-thu-khi-viet-code-da-moi-truong-pPLkN6mGJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/kiem-tra-su-ton-tai-cua-ham-trong-php-voi-function-exists-chiec-khien-phong-thu-khi-viet-code-da-moi-truong-pPLkN6mGJRZ</guid>
            <description><![CDATA[Chào anh em!

Trong quá trình phát triển các hệ thống PHP phức tạp (như viết các gói thư viện mở rộng, plugin, hoặc làm việc trên nhiều phiên bản PHP ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-31 10:34:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Xây dựng Apex Trigger Framework chuẩn: Handler, Context và kiểm soát Recursion]]></title>
                        <link>https://viblo.asia/p/xay-dung-apex-trigger-framework-chuan-handler-context-va-kiem-soat-recursion-13VM9YPWVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/xay-dung-apex-trigger-framework-chuan-handler-context-va-kiem-soat-recursion-13VM9YPWVY7</guid>
            <description><![CDATA[Nếu bạn từng làm việc với Salesforce đủ lâu, chắc hẳn đã ít nhất một lần gặp cảnh: một object có 4-5 trigger rải rác, mỗi trigger vài trăm dòng logic ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Pham</dc:creator>
            <pubDate>2026-07-30 09:57:20</pubDate>
                                                                                                        </item>
            </channel>
</rss>
