ArticleController :: relatedArticles

Request

GET Parameters

Key Value
_path
"_format=html&_locale=en&_controller=App%5CController%5CArticleController%3A%3ArelatedArticles"

POST Parameters

No POST parameters

Uploaded Files

No files were uploaded

Request Attributes

Key Value
_controller
"App\Controller\ArticleController::relatedArticles"
_format
"html"
_locale
"en"
_stopwatch_token
"14346c"
current_article
App\Entity\Article {#1094
  -id: 7152
  -title: "Building a Barcode/QR Code Reader Using Python"
  -slug: "building-a-barcode-qr-code-reader-using-python"
  -introtext: "<p class="p1"><span class="s1" style="color: #000000;">Barcodes/QR codes are interesting because they store information in a different format.&nbsp;</span></p>\r\n"
  -content: """
    \r\n
    <p class="p1"><span class="s1" style="color: #000000;">The fun part about them is we can’t really tell what they are storing until we scan them. It’s like playing a puzzle game. And one more thing that I like about them is they can be part of the physical world and still connects us to the internet world. Isn’t that really cool?&nbsp;In&nbsp;this article, you will discover how to build a barcode and QR code reader using Python.&nbsp;</span></p>\r\n
    <h2><span style="color: #10228b;">1. Getting Started</span></h2>\r\n
    <section class="dh di dj dk dl">\r\n
    <div class="n p">\r\n
    <div class="ab ac ae af ag dm ai aj">\r\n
    <p id="d9cf" class="it iu dp iv b ej kk ix iy em kl ja jb jc km er je jf kn eu jh ji ko ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">If you are wondering how barcode and QR code readers work, let’s do a quick real-life practice. Turn on your phone’s camera and show the featured image of this article. You will see a link show up, it’s very simple to use. Today, we will create our own reader, without losing any time let’s get started!</span></p>\r\n
    <p id="c763" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">We will start by installing the libraries that we will need for this project and then we will start programming. For this project, I recommend using a regular code editor instead of a Jupyter notebook.</span>&nbsp;</p>\r\n
    </div>\r\n
    </div>\r\n
    </section>\r\n
    <section class="dh di dj dk dl">\r\n
    <div class="n p">\r\n
    <div class="ab ac ae af ag dm ai aj">\r\n
    <h2 id="818b" class="ma jx dp cf jy mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq eh"><span style="color: #10228b;">2. Libraries</span></h2>\r\n
    <p id="f281" class="it iu dp iv b ej kk ix iy em kl ja jb jc km er je jf kn eu jh ji ko ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">In this step, we will install the following three libraries: Pillow, OpenCV and Pyzbar. Pillow library is also known as PIL, which stands for Python Image Library. OpenCV is a well-known library, especially when working with computer vision projects. And lastly Pyzbar, a python library that will help us read the barcode and QR codes. Let’s start installing them.</span></p>\r\n
    <span style="color: #000000;"><strong>Pillow</strong></span>\r\n
    <p id="8ba4" class="it iu dp iv b ej kk ix iy em kl ja jb jc km er je jf kn eu jh ji ko ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">Official documentation can be found</span>&nbsp;<a class="cm is" href="https://pypi.org/project/Pillow/" rel="noopener nofollow">here</a>.</p>\r\n
    <pre class="hs ht hu hv hw mr ms bu"><img src="/images/pip_install_Pillow.png" alt="pip_install_Pillow.png" width="565" height="41" /></pre>\r\n
    <span style="color: #000000;"><strong>OpenCV</strong></span>\r\n
    <p id="7015" class="it iu kt iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" style="padding-left: 30px;" data-selectable-paragraph><span style="color: #000000;">OpenCV (Open Source Computer Vision Library) is an open-source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in commercial products.</span></p>\r\n
    <p id="9acd" class="it iu kt iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" style="padding-left: 30px;" data-selectable-paragraph><span style="color: #000000;">Reference:&nbsp;</span><a class="cm is" href="https://opencv.org/" rel="noopener nofollow">https://opencv.org</a></p>\r\n
    <pre class="hs ht hu hv hw mr ms bu"><img src="/images/pip_install_opencv-python.png" alt="pip_install_opencv-python.png" width="565" height="45" /><br /><br /></pre>\r\n
    <span style="color: #000000;"><strong>Pyzbar</strong></span>\r\n
    <p class="it iu dp iv b ej kk ix iy em kl ja jb jc km er je jf kn eu jh ji ko ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">Installation of Pyzbar library is different depending on the computer you are using. I will show both Mac OS and Windows installation lines. You can also learn more from Pyzbar’s official documentation</span>&nbsp;<a class="cm is" href="https://pypi.org/project/pyzbar/" rel="noopener nofollow">page</a>.<br /><br /><br /><img src="/images/Pyzbar.png" alt="Pyzbar.png" width="565" height="111" /></p>\r\n
    <h2 id="876d" class="ma jx dp cf jy mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq eh"><span style="color: #10228b;">3. Decoding Function</span></h2>\r\n
    <p id="f71e" class="it iu dp iv b ej kk ix iy em kl ja jb jc km er je jf kn eu jh ji ko ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">In this step, we write the decoding function, where most of the cool things will be happening. The decoding function will be doing mainly three things, and can be listed as follows:</span></p>\r\n
    <ul class="">\r\n
    <li id="9709" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Recognizing and decoding the barcode/QR code that we will be showing to the camera.</span></li>\r\n
    <li id="75f5" class="it iu dp iv b ej ku ix iy em kv ja jb jc kw er je jf kx eu jh ji ky ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Adding the stored information as a text on the recognized barcode/QR code.</span></li>\r\n
    <li id="0af6" class="it iu dp iv b ej ku ix iy em kv ja jb jc kw er je jf kx eu jh ji ky ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">And lastly, exporting the stored information as a text document.</span></li>\r\n
    </ul>\r\n
    <p id="3469" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">Let’s import the libraries we installed before we write to the function:<br /></span><br /><br /><img src="/images/import_libraries.png" alt="import_libraries.png" width="565" height="94" />&nbsp;</p>\r\n
    <p><span style="color: #000000;"><br />Now, let’s write the function. Instead of adding part by part, I will share the whole function with you. Since, indentation matters when writing in python, I don’t want to disorganize things by ruining the structure of the code. I will add my comments below the code.<br /><br /></span></p>\r\n
    <p><img src="/images/def_read_barcodesframe.png" alt="def_read_barcodesframe.png" width="565" height="338" /></p>\r\n
    <section class="dh di dj dk dl">\r\n
    <div class="n p">\r\n
    <div class="ab ac ae af ag dm ai aj">\r\n
    <p id="6029" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;"><strong>Understanding the function</strong></span></p>\r\n
    <ul class="">\r\n
    <li id="abeb" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Firstly, we are decoding the information from the barcode or QR code. And then drawing a rectangle around it. This helps us to see if our machine has detected the barcode/Qr code.</span></li>\r\n
    <li id="719f" class="it iu dp iv b ej ku ix iy em kv ja jb jc kw er je jf kx eu jh ji ky ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Secondly, we are adding text on top of the rectangle that was created. The text will show the decoded information.</span></li>\r\n
    <li id="d525" class="it iu dp iv b ej ku ix iy em kv ja jb jc kw er je jf kx eu jh ji ky ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Thirdly, we are exporting the information into a text document. If you are planning to test with multiple barcodes or QR codes, I recommend changing the document name otherwise it will overwrite.</span></li>\r\n
    </ul>\r\n
    </div>\r\n
    </div>\r\n
    </section>\r\n
    <section class="dh di dj dk dl">\r\n
    <div class="n p">\r\n
    <div class="ab ac ae af ag dm ai aj">\r\n
    <h2 id="56ca" class="ma jx dp cf jy mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq eh"><span style="color: #10228b;">4. Main Function</span></h2>\r\n
    <p id="586e" class="it iu dp iv b ej kk ix iy em kl ja jb jc km er je jf kn eu jh ji ko ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">In this step, we will write the main function, where the application is prompt to work. The main function will turn on the video camera of the computer, and the then call the decoding function. Here is the code:</span></p>\r\n
    </div>\r\n
    </div>\r\n
    </section>\r\n
    <p><img src="/images/main_function.png" alt="main_function.png" width="565" height="379" /></p>\r\n
    <p id="9cee" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;"><strong class="iv ks">Understanding the function:</strong></span></p>\r\n
    <ul class="">\r\n
    <li id="c402" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Firstly, we are turning on the camera of the computer using OpenCV. If you have an external camera, you have to change the value 0 to 1 depending on the device.</span></li>\r\n
    <li id="8da1" class="it iu dp iv b ej ku ix iy em kv ja jb jc kw er je jf kx eu jh ji ky ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Secondly, we run a while loop to keep running the decoding function until the “Esc” key is pressed. Otherwise, the loop will not stop and cause some issues.</span></li>\r\n
    <li id="61b9" class="it iu dp iv b ej ku ix iy em kv ja jb jc kw er je jf kx eu jh ji ky ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Thirdly, we are releasing the camera that we turned on in the first step. And then we are closing the application window. OpenCV is doing all the work, we just need to call the methods.</span></li>\r\n
    <li id="52d5" class="it iu dp iv b ej ku ix iy em kv ja jb jc kw er je jf kx eu jh ji ky ex jk jl kp kq kr eh" data-selectable-paragraph><span style="color: #000000;">Lastly, we are calling the&nbsp;<em class="kt">main function</em>&nbsp;to trigger the program.</span></li>\r\n
    </ul>\r\n
    <p id="278c" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">Perfect! We are done with the programming part. Let me show you a quick demonstration to see how it works when we run the program.</span></p>\r\n
    <h2 id="1569" class="ma jx dp cf jy mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq eh"><span style="color: #10228b;">5. Video Demonstration</span></h2>\r\n
    <p><a href="https://www.youtube.com/watch?v=mOciSGaTWRY&amp;feature=emb_title" target="_blank" rel="noopener"><img src="/images/Video_Demonstration.png" alt="Video_Demonstration.png" width="565" height="420" /></a><br /><br /></p>\r\n
    <p id="8609" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">Congrats!! You have created a program the reads barcodes and QR codes for you. Now, you have an idea of how to use computer vision and artificial intelligence in the real life. Working on hands-on programming projects like this one is the best way to sharpen your coding skills. I would be glad if you learned something new today.</span></p>\r\n
    <p id="d724" class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">Feel free to&nbsp;</span><a class="cm is" href="https://sonsuzdesign.blog/" rel="noopener nofollow">contact me</a>&nbsp;<span style="color: #000000;">if you have any questions while implementing the code.</span></p>\r\n
    <p class="it iu dp iv b ej iw ix iy em iz ja jb jc jd er je jf jg eu jh ji jj ex jk jl dh eh" data-selectable-paragraph><span style="color: #000000;">Follow my</span>&nbsp;<a href="//medium.com/@lifexplorer">blog</a>&nbsp;<span style="color: #000000;">and</span>&nbsp;<a class="cm is" href="http://youtube.com/behicguven" rel="noopener nofollow">youtube channel</a>&nbsp;<span style="color: #000000;">to stay inspired.&nbsp;</span></p>\r\n
    </div>\r\n
    </div>\r\n
    </section>
    """
  -user: Proxies\__CG__\App\Entity\User {#1092 …}
  -createdAt: DateTime @1602658992 {#1145
    date: 2020-10-14 07:03:12.0 UTC (+00:00)
  }
  -updatedAt: DateTime @1603964421 {#1150
    date: 2020-10-29 09:40:21.0 UTC (+00:00)
  }
  -deletedAt: null
  -category: App\Entity\Category {#445 …}
  -status: "published"
  -imageCard: Proxies\__CG__\App\Entity\File {#1184 …}
  -ImageHeader: Proxies\__CG__\App\Entity\File {#1184 …}
  -featured: false
  -mainView: false
  -clicks: 2786
  -comments: Doctrine\ORM\PersistentCollection {#1125 …}
  -reviewed_at: DateTime @1602658992 {#1148
    date: 2020-10-14 07:03:12.0 UTC (+00:00)
  }
  -metakey: "Building a Barcode/QR code Reader using Python"
  -metadesc: "In\u{A0}this article, you will discover how to build a barcode and QR code reader using Python.\u{A0}"
  -robots: null
  -publishedAt: DateTime @1602658992 {#1147
    date: 2020-10-14 07:03:12.0 UTC (+00:00)
  }
  -canonical: null
  -superTag: null
}

Request Headers

Header Value
accept
"*/*"
accept-charset
"ISO-8859-1,utf-8;q=0.7,*;q=0.7"
accept-encoding
"gzip, br, zstd, deflate"
accept-language
"en-us,en;q=0.5"
connection
"close"
cookie
"PHPSESSID=97pfc36i6cvk75tqr7qqp05ppp"
forwarded
"for="18.117.105.68";host="rct.dev.bbntimes.com";proto=https"
host
"rct.dev.bbntimes.com"
user-agent
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
x-forwarded-for
"18.117.105.68"
x-php-ob-level
"2"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
cache-control
"no-cache, private"
date
"Sat, 22 Feb 2025 08:27:01 GMT"
x-debug-token
"6de699"

Cookies

Request Cookies

Key Value
PHPSESSID
"97pfc36i6cvk75tqr7qqp05ppp"

Response Cookies

No response cookies

Session 5

Session Metadata

Key Value
Created
"Sat, 22 Feb 25 08:26:34 +0000"
Last used
"Sat, 22 Feb 25 08:26:59 +0000"
Lifetime
0

Session Attributes

Attribute Value
_csrf/https-comment
"8hQQZ5PLRH33_LTZDmjQtBKShTUF3ap2yXN0n9Ci8JA"
_csrf/https-cookie_accept
"4H5jOjh8Rwx9eitz7I-_pstPFVUq6HDZzpN-u8bFX9Y"

Session Usage

5 Usages
Stateless check enabled
Usage
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:76
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php"
    "line" => 76
    "function" => "start"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php"
    "line" => 69
    "function" => "hasToken"
    "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php"
    "line" => 82
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 134
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 128
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php"
    "line" => 908
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 220
    "function" => "createView"
    "class" => "Symfony\Component\Form\Form"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:79
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php"
    "line" => 79
    "function" => "has"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php"
    "line" => 69
    "function" => "hasToken"
    "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php"
    "line" => 82
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 134
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 128
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php"
    "line" => 908
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 220
    "function" => "createView"
    "class" => "Symfony\Component\Form\Form"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:52
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php"
    "line" => 52
    "function" => "has"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php"
    "line" => 70
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php"
    "line" => 82
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 134
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 128
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php"
    "line" => 908
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 220
    "function" => "createView"
    "class" => "Symfony\Component\Form\Form"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:56
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php"
    "line" => 56
    "function" => "get"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php"
    "line" => 70
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php"
    "line" => 82
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 134
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 128
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php"
    "line" => 908
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 220
    "function" => "createView"
    "class" => "Symfony\Component\Form\Form"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage:41
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-core/Authentication/Token/Storage/UsageTrackingTokenStorage.php"
    "line" => 41
    "function" => "getMetadataBag"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/twig-bridge/AppVariable.php"
    "line" => 103
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Extension/CoreExtension.php"
    "line" => 1635
    "function" => "getUser"
    "class" => "Symfony\Bridge\Twig\AppVariable"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/a4/a456f2f504a18cd81037fa69e543310c.php"
    "line" => 200
    "function" => "twig_get_attribute"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 394
    "function" => "doDisplay"
    "class" => "__TwigTemplate_824a013e4f3f4a68e03a2d244e765025"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 367
    "function" => "displayWithErrorHandling"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 379
    "function" => "display"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/TemplateWrapper.php"
    "line" => 38
    "function" => "render"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Environment.php"
    "line" => 280
    "function" => "render"
    "class" => "Twig\TemplateWrapper"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 448
    "function" => "render"
    "class" => "Twig\Environment"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 453
    "function" => "doRenderView"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 253
    "function" => "doRender"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/AppController.php"
    "line" => 126
    "function" => "render"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "renderHeader"
    "class" => "App\Controller\AppController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php"
    "line" => 86
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php"
    "line" => 78
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpCache\SubRequestHandler"
    "type" => "::"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Fragment/FragmentHandler.php"
    "line" => 83
    "function" => "render"
    "class" => "Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php"
    "line" => 47
    "function" => "render"
    "class" => "Symfony\Component\HttpKernel\Fragment\FragmentHandler"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/twig-bridge/Extension/HttpKernelRuntime.php"
    "line" => 44
    "function" => "render"
    "class" => "Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/b9/b9cb140abab7ef4ef8cb398831c75ac0.php"
    "line" => 207
    "function" => "renderFragment"
    "class" => "Symfony\Bridge\Twig\Extension\HttpKernelRuntime"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 171
    "function" => "block_header"
    "class" => "__TwigTemplate_dc67cdc305f050f0a27ba7ef152f05af"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/b9/b9cb140abab7ef4ef8cb398831c75ac0.php"
    "line" => 91
    "function" => "displayBlock"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 394
    "function" => "doDisplay"
    "class" => "__TwigTemplate_dc67cdc305f050f0a27ba7ef152f05af"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 367
    "function" => "displayWithErrorHandling"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/c3/c336f4e76fc20e4db84e3be131276b68.php"
    "line" => 52
    "function" => "display"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 394
    "function" => "doDisplay"
    "class" => "__TwigTemplate_3ce0324a396de697d1fad9fabd68df72"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 367
    "function" => "displayWithErrorHandling"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 379
    "function" => "display"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/TemplateWrapper.php"
    "line" => 38
    "function" => "render"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Environment.php"
    "line" => 280
    "function" => "render"
    "class" => "Twig\TemplateWrapper"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 448
    "function" => "render"
    "class" => "Twig\Environment"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 453
    "function" => "doRenderView"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 253
    "function" => "doRender"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 277
    "function" => "render"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
APP_ENV
"dev"
APP_SECRET
"0a988e63f011514eaabfc650b599af4d"
CORS_ALLOW_ORIGIN
"*"
DATABASE_URL
"mysql://bbndb_rctuser:33F5W25z40or0f7@localhost:3306/rct_bbntimes"
GOOGLE_RECAPTCHA_SECRET_KEY
"6LdV5fgpAAAAANxzTG8ZMfIjil1wu-1vrQvnUt-x"
GOOGLE_RECAPTCHA_SITE_KEY
"6LdV5fgpAAAAAENKcn73MJAhQrbtQeqgyC4wDLMP"
MAILER_DSN
"smtp://no-reply%40rct.dev.bbntimes.com:Bl6%26gLD48%26Of919@rct.dev.bbntimes.com:465"
MARIADB_PASSWORD
"i!87pK&!85ezc8"

Defined as regular env variables

Key Value
APP_DEBUG
"1"
BASE
"/public"
CONTEXT_DOCUMENT_ROOT
"/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com"
CONTEXT_PREFIX
""
DOCUMENT_ROOT
"/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com"
FCGI_ROLE
"RESPONDER"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_CHARSET
"ISO-8859-1,utf-8;q=0.7,*;q=0.7"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_ACCEPT_LANGUAGE
"en-us,en;q=0.5"
HTTP_CONNECTION
"close"
HTTP_COOKIE
"PHPSESSID=97pfc36i6cvk75tqr7qqp05ppp"
HTTP_FORWARDED
"for="18.117.105.68";host="rct.dev.bbntimes.com";proto=https"
HTTP_HOST
"rct.dev.bbntimes.com"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_X_FORWARDED_FOR
"18.117.105.68"
PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
PATH_INFO
""
PHP_SELF
"/public/index.php"
PP_CUSTOM_PHP_CGI_INDEX
"plesk-php81-fastcgi"
PP_CUSTOM_PHP_INI
"/var/www/vhosts/system/rct.dev.bbntimes.com/etc/php.ini"
QUERY_STRING
"_path=_format%3Dhtml%26_locale%3Den%26_controller%3DApp%255CController%255CArticleController%253A%253ArelatedArticles"
REDIRECT_BASE
"/public"
REDIRECT_HTTPS
"on"
REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_REDIRECT_HTTPS
"on"
REDIRECT_REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_REDIRECT_SCRIPT_URI
"https://rct.dev.bbntimes.com/technology/building-a-barcode-qr-code-reader-using-python"
REDIRECT_REDIRECT_SCRIPT_URL
"/technology/building-a-barcode-qr-code-reader-using-python"
REDIRECT_REDIRECT_SSL_TLS_SNI
"rct.dev.bbntimes.com"
REDIRECT_REDIRECT_STATUS
"200"
REDIRECT_REDIRECT_UNIQUE_ID
"Z7mKVLiBoyj8JZ8-HGxp2wAAAAo"
REDIRECT_SCRIPT_URI
"https://rct.dev.bbntimes.com/technology/building-a-barcode-qr-code-reader-using-python"
REDIRECT_SCRIPT_URL
"/technology/building-a-barcode-qr-code-reader-using-python"
REDIRECT_SSL_TLS_SNI
"rct.dev.bbntimes.com"
REDIRECT_STATUS
"200"
REDIRECT_UNIQUE_ID
"Z7mKVLiBoyj8JZ8-HGxp2wAAAAo"
REDIRECT_URL
"/public/technology/building-a-barcode-qr-code-reader-using-python"
REMOTE_ADDR
"127.0.0.1"
REMOTE_PORT
"45701"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"https"
REQUEST_TIME
1740212820
REQUEST_TIME_FLOAT
1740212820.7853
REQUEST_URI
"/_fragment?_path=_format%3Dhtml%26_locale%3Den%26_controller%3DApp%255CController%255CArticleController%253A%253ArelatedArticles"
SCRIPT_FILENAME
"/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
SCRIPT_NAME
"/public/index.php"
SCRIPT_URI
"https://rct.dev.bbntimes.com/technology/building-a-barcode-qr-code-reader-using-python"
SCRIPT_URL
"/technology/building-a-barcode-qr-code-reader-using-python"
SERVER_ADDR
"5.196.1.209"
SERVER_ADMIN
"[no address given]"
SERVER_NAME
"rct.dev.bbntimes.com"
SERVER_PORT
"443"
SERVER_PROTOCOL
"HTTP/1.1"
SERVER_SIGNATURE
"<address>Apache Server at rct.dev.bbntimes.com Port 443</address>\n"
SERVER_SOFTWARE
"Apache"
SSL_TLS_SNI
"rct.dev.bbntimes.com"
SYMFONY_DOTENV_VARS
"APP_ENV,APP_SECRET,DATABASE_URL,MARIADB_PASSWORD,CORS_ALLOW_ORIGIN,MAILER_DSN,GOOGLE_RECAPTCHA_SECRET_KEY,GOOGLE_RECAPTCHA_SITE_KEY"
UNIQUE_ID
"Z7mKVLiBoyj8JZ8-HGxp2wAAAAo"

Parent Request

Return to parent request (token = ea8cc9)

Key Value
_controller
"App\Controller\ArticleController::show"
_firewall_context
"security.firewall.map.context.main"
_links
Symfony\Component\WebLink\GenericLinkProvider {#3673
  -links: [
    3794 => Symfony\Component\WebLink\Link {#3794
      -href: "/build/runtime.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3792 => Symfony\Component\WebLink\Link {#3792
      -href: "/build/644.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3791 => Symfony\Component\WebLink\Link {#3791
      -href: "/build/502.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3790 => Symfony\Component\WebLink\Link {#3790
      -href: "/build/app.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3789 => Symfony\Component\WebLink\Link {#3789
      -href: "/build/view-more.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3788 => Symfony\Component\WebLink\Link {#3788
      -href: "/build/term-condition.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3787 => Symfony\Component\WebLink\Link {#3787
      -href: "/build/contact.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3786 => Symfony\Component\WebLink\Link {#3786
      -href: "/build/scroll-infinite-article.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3785 => Symfony\Component\WebLink\Link {#3785
      -href: "/build/app.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
    3784 => Symfony\Component\WebLink\Link {#3784
      -href: "/build/cookie-style.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
    3783 => Symfony\Component\WebLink\Link {#3783
      -href: "/build/term-condition-css.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
    3782 => Symfony\Component\WebLink\Link {#3782
      -href: "/build/contact-css.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
    3781 => Symfony\Component\WebLink\Link {#3781
      -href: "/build/comment-css.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
  ]
}
_route
"article_show"
_route_params
[
  "category" => "technology"
  "slug" => "building-a-barcode-qr-code-reader-using-python"
]
_security_firewall_run
"_security_main"
_stopwatch_token
"6bcfd9"
category
"technology"
slug
"building-a-barcode-qr-code-reader-using-python"