$lang['tuto'] = "ઉપશામકો"; ?> JavaScript વેરિયેબલ ઉમેરતી

JavaScript વેરિયેબલ ઉમેરતી વખતે Twig માં Symfony Raw Filter સમસ્યાનું નિરાકરણ

Temp mail SuperHeros
JavaScript વેરિયેબલ ઉમેરતી વખતે Twig માં Symfony Raw Filter સમસ્યાનું નિરાકરણ
JavaScript વેરિયેબલ ઉમેરતી વખતે Twig માં Symfony Raw Filter સમસ્યાનું નિરાકરણ

ટ્વિગ પાથમાં ડાયનેમિક જાવાસ્ક્રિપ્ટ વેરીએબલ્સને હેન્ડલ કરવું

ટ્વિગ અને જાવાસ્ક્રિપ્ટ વેબ ડેવલપમેન્ટમાં અલગ-અલગ હેતુઓ પૂરા પાડે છે: ટ્વિગ સર્વર-સાઇડ પર કામ કરે છે, જ્યારે JavaScript ક્લાયંટ-સાઇડ પર કાર્ય કરે છે. સર્વર-સાઇડ લોજિકને મર્જ કરવાનો પ્રયાસ કરતી વખતે આ પડકારો બનાવી શકે છે, જેમ કે Twig's પાથ() ફંક્શન, ક્લાયંટ-સાઇડ ડાયનેમિક ડેટા સાથે. એમાં JavaScript વેરિયેબલને ઇન્જેક્ટ કરવાનો પ્રયાસ કરતી વખતે સામાન્ય સમસ્યા થાય છે પાથ() ટ્વીગમાં ફંક્શન, ફક્ત સ્ટ્રિંગ એસ્કેપ કરવા માટે.

આવી એક સમસ્યામાં ટ્વિગ્સનો ઉપયોગ શામેલ છે |કાચા ટ્વીગ ટેમ્પલેટમાં જાવાસ્ક્રિપ્ટમાં કાચી સ્ટ્રિંગ્સને ઇન્જેક્ટ કરવા માટે ફિલ્ટર કરો. વિકાસકર્તાઓ અપેક્ષા રાખે છે |કાચા બહાર નીકળતા અટકાવવા માટે ફિલ્ટર કરો, પરંતુ ઘણા કિસ્સાઓમાં, તે હજુ પણ અનિચ્છનીય આઉટપુટમાં પરિણમે છે. API કૉલમાંથી મેળવેલા ડેટાનો ઉપયોગ કરીને ગતિશીલ JavaScript લિંક્સ અથવા પાથ બનાવવાનું લક્ષ્ય ધરાવતા વિકાસકર્તાઓ માટે આ વર્તન નિરાશાજનક છે.

આ દૃશ્યમાં, વિકાસકર્તાઓ ટ્વિગના સર્વર-સાઇડ રેન્ડરિંગને JavaScriptના ક્લાયન્ટ-સાઇડ લોજિક સાથે સહયોગી બનાવવાના પડકારનો સામનો કરે છે. આ |કાચા ફિલ્ટર, તેની ઇચ્છિત કાર્યક્ષમતા હોવા છતાં, સ્ટ્રિંગમાંથી બહાર નીકળીને અણધારી રીતે વર્તે છે, જે દૂષિત JavaScript કોડ તરફ દોરી જાય છે જે કાર્યક્ષમતાને તોડે છે.

આ શા માટે થાય છે અને તેને અસરકારક રીતે કેવી રીતે ઉકેલવું તે સમજવું સિમ્ફોની ડેવલપર્સને વધુ એકીકૃત રીતે ગતિશીલ પૃષ્ઠો બનાવવાની મંજૂરી આપશે. નીચેની ચર્ચામાં, અમે અન્વેષણ કરીશું કે શા માટે ટ્વિગના કાચા ફિલ્ટરને અવગણવામાં આવે છે અને JavaScript સંદર્ભમાં યોગ્ય પાથ જનરેશનની ખાતરી કરવા માટે ઉકેલો પ્રદાન કરીશું.

આદેશ ઉપયોગનું ઉદાહરણ
querySelectorAll() આ JavaScript ફંક્શન DOM માં બધા ઘટકોને પસંદ કરે છે જે ઉલ્લેખિત પસંદગીકાર સાથે મેળ ખાય છે. પ્રથમ સોલ્યુશનમાં યુઆરએલને ગતિશીલ રીતે જનરેટ કરવા માટે કસ્ટમ ડેટા એટ્રિબ્યુટ ડેટા-આઈડી ધરાવતા તમામ એન્કર ટૅગ્સને પસંદ કરવા માટે અહીં તેનો ઉપયોગ કરવામાં આવ્યો હતો.
getAttribute() આ પદ્ધતિ પસંદ કરેલ DOM ઘટકમાંથી વિશેષતાનું મૂલ્ય પુનઃપ્રાપ્ત કરે છે. પ્રથમ સોલ્યુશનમાં, તેનો ઉપયોગ ડેટા-આઇડી મૂલ્યને કાઢવા માટે થાય છે, જેમાં ડાયનેમિક ID હોય છે જે URL માં ઇન્જેક્ટ કરવામાં આવશે.
setAttribute() આ ફંક્શનનો ઉપયોગ DOM એલિમેન્ટમાં નવી વિશેષતા સુધારવા અથવા ઉમેરવા માટે થાય છે. આ કિસ્સામાં, તે ટેગના href અપડેટ કરવા માટે લાગુ કરવામાં આવે છે, પ્રદાન કરેલ ID પર આધારિત ડાયનેમિક પાથ જનરેશનની મંજૂરી આપે છે.
json_encode આ ટ્વિગ ફિલ્ટર ચલને JSON ફોર્મેટમાં એન્કોડ કરે છે જે જાવાસ્ક્રિપ્ટમાં સુરક્ષિત રીતે પસાર કરી શકાય છે. સોલ્યુશન 2 માં, તેનો ઉપયોગ એ સુનિશ્ચિત કરવા માટે થાય છે કે આઈડી એસ્કેપ થયા વિના JavaScript પર પસાર થાય છે, જે ક્લાયંટ-સાઇડ સ્ક્રિપ્ટો સાથે સર્વર-સાઇડ ડેટાના સીમલેસ એકીકરણને મંજૂરી આપે છે.
replace() સોલ્યુશન 3 માં, રિપ્લેસ() નો ઉપયોગ પૂર્વ-જનરેટેડ URL માં પ્લેસહોલ્ડર __ID__ ને બદલે વાસ્તવિક JavaScript ચલ પૂર્ણ['id'] સાથે કરવામાં આવે છે, જે ફ્લેક્સિબલ URL જનરેશન માટે પરવાનગી આપે છે.
write() document.write() પદ્ધતિ સીધા જ દસ્તાવેજમાં HTML સામગ્રીની સ્ટ્રિંગ લખે છે. આનો ઉપયોગ DOM માં ગતિશીલ રીતે જનરેટ થયેલ એન્કર ટેગને 2 અને 3 બંને ઉકેલોમાં દાખલ કરવા માટે થાય છે.
DOMContentLoaded આ JavaScript ઇવેન્ટ શરૂ થાય છે જ્યારે પ્રારંભિક HTML દસ્તાવેજ સંપૂર્ણપણે લોડ અને પદચ્છેદન કરવામાં આવે છે, સ્ટાઈલશીટ્સ, છબીઓ અને સબફ્રેમ લોડિંગ સમાપ્ત થાય તેની રાહ જોયા વિના. તેનો ઉપયોગ સોલ્યુશન 1 માં થાય છે તેની ખાતરી કરવા માટે કે સ્ક્રિપ્ટ માત્ર DOM સંપૂર્ણપણે લોડ થઈ જાય પછી જ ટેગમાં ફેરફાર કરે છે.
path() Twig path() ફંક્શન આપેલ રૂટ માટે URL જનરેટ કરે છે. સોલ્યુશન 3 માં, તેનો ઉપયોગ URL પેટર્નને પૂર્વવ્યાખ્યાયિત કરવા માટે થાય છે, જે પછી JavaScript વેરીએબલ સાથે ગતિશીલ રીતે સંશોધિત થાય છે.

JavaScript માં ટ્વિગ પાથને હેન્ડલિંગ: અ ડીપર લુક

Twig's નો ઉપયોગ કરતી વખતે ઉપર આપેલી સ્ક્રિપ્ટ સામાન્ય સમસ્યાને હલ કરે છે પાથ() JavaScript માં કાર્ય. ટ્વિગ એ સર્વર-સાઇડ ટેમ્પ્લેટિંગ એન્જિન છે, અને JavaScript ક્લાયંટ-સાઇડ પર કાર્ય કરે છે, જે તેને URL માં ડાયનેમિક ડેટા ઇન્જેક્ટ કરવાનું મુશ્કેલ બનાવે છે. પ્રથમ ઉકેલમાં, ઉપયોગ પર ધ્યાન કેન્દ્રિત કરવામાં આવ્યું હતું ડેટા લક્ષણો HTML ની ​​અંદર. ડેટા એટ્રિબ્યુટને ડાયનેમિક ID અસાઇન કરીને, અમે એકસાથે ભાગી જવાના મુદ્દાને દૂર કરીએ છીએ. JavaScript પછી આ ડેટાનો ઉપયોગ કરીને સરળતાથી ઍક્સેસ કરી શકે છે querySelectorAll(), તેને ટ્વિગની બહાર નીકળતી વર્તણૂક વિશે ચિંતા કર્યા વિના ગતિશીલ રીતે URL બનાવવાની મંજૂરી આપે છે.

બીજો ઉકેલ ડાયનેમિક ID ને એન્કોડ કરીને સમસ્યાનો સામનો કરે છે JSON Twig's નો ઉપયોગ કરીને ફોર્મેટ કરો json_encode ફિલ્ટર આ અભિગમ સુનિશ્ચિત કરે છે કે જાવાસ્ક્રિપ્ટ સુરક્ષિત ફોર્મેટમાં ID મેળવે છે જ્યારે Twig દ્વારા કોઈ પણ અણધારી સ્ટ્રિંગ બહાર નીકળવાનું ટાળે છે. JSON સર્વર-સાઇડ પર ID ને એન્કોડ કર્યા પછી, JavaScript તેને કોઈપણ સમસ્યા વિના પ્રક્રિયા કરે છે, વિકાસકર્તાઓને તેને URL માં ગતિશીલ રીતે દાખલ કરવાની મંજૂરી આપે છે. બાહ્ય API ડેટા અથવા અસુમેળ ડેટા મેળવવા સાથે કામ કરતી વખતે આ ઉકેલ ખાસ કરીને ઉપયોગી છે કારણ કે તે HTML સ્ટ્રક્ચરમાંથી ડેટાને અલગ કરે છે.

ત્રીજા ઉકેલમાં, અમે Twig's નો ઉપયોગ કરીને સર્વર બાજુ પર પ્લેસહોલ્ડર્સ સાથે URL પેટર્નને પૂર્વવ્યાખ્યાયિત કરીને ચતુર અભિગમનો ઉપયોગ કરીએ છીએ. પાથ() કાર્ય પ્લેસહોલ્ડર (આ કિસ્સામાં, __ID__) અસ્થાયી માર્કર તરીકે કાર્ય કરે છે, જે પછી વાસ્તવિક ID ઉપલબ્ધ થાય તે પછી ક્લાયંટ-સાઇડ પર JavaScript દ્વારા બદલવામાં આવે છે. આ પદ્ધતિ બંને વિશ્વની શ્રેષ્ઠતાને જોડે છે: સર્વર-સાઇડ URL જનરેશન અને ક્લાયંટ-સાઇડ લવચીકતા. પ્લેસહોલ્ડર ખાતરી કરે છે કે URL ની રચના સાચી છે, જ્યારે JavaScript ચલને ગતિશીલ રીતે ઇન્જેક્ટ કરવાની કાળજી લે છે. આ અસુમેળ રીતે લોડ થયેલ ડેટા સાથે કામ કરતી વખતે પણ મજબૂત URL જનરેશનની ખાતરી આપે છે.

આમાંના દરેક ઉકેલો સર્વર-સાઇડ રેન્ડરિંગ અને ક્લાયંટ-સાઇડ મેનીપ્યુલેશન બંનેનો લાભ લઈને સમસ્યાના અનન્ય પાસાને હલ કરે છે. ઉપયોગ કરીને ડેટા લક્ષણો જ્યારે ડાયનેમિક સામગ્રી HTML માં પહેલેથી જ એમ્બેડ કરેલી હોય ત્યારે સ્વચ્છ અને સરળ ઉકેલ પૂરો પાડે છે. JSON એન્કોડિંગ એ સુનિશ્ચિત કરે છે કે ડેટા ક્લાયંટને સુરક્ષિત રીતે પસાર થાય છે, ખાસ કરીને જ્યારે બાહ્ય અથવા અસુમેળ સ્ત્રોતો સાથે કામ કરતા હોય. પ્લેસહોલ્ડર્સ સાથે પાથ પૂર્વવ્યાખ્યાયિત કરવાથી ક્લાયંટ-સાઇડ લવચીકતાને મંજૂરી આપતી વખતે વિકાસકર્તાઓને URL સ્ટ્રક્ચર્સ પર સ્પષ્ટ નિયંત્રણ જાળવી રાખવામાં સક્ષમ કરે છે. આખરે, દરેક અભિગમનો ક્યારે અને કેવી રીતે ઉપયોગ કરવો તે સમજવું એ સિમ્ફોનીમાં ડાયનેમિક URL જનરેશન સમસ્યાને ઉકેલવા માટેની ચાવી છે.

Symfony માં JavaScript વેરીએબલ્સ સાથે Twig's Path Function નો ઉપયોગ કરવો

આ સોલ્યુશન ક્લાયન્ટ-સાઇડ ડેટા હેન્ડલિંગ સાથે સર્વર-સાઇડ રેન્ડરિંગને જોડીને ડાયનેમિક URL બનાવવા માટે Twig, JavaScript અને Symfony નો ઉપયોગ કરે છે. અહીં અમે એસ્કેપિંગ ઇશ્યૂને હલ કરીને Twig ટેમ્પલેટ્સમાં JavaScript વેરીએબલ્સના યોગ્ય હેન્ડલિંગની ખાતરી કરીએ છીએ.

// Solution 1: Using data attributes to pass values safely// file.html.twig<code><script>
document.addEventListener('DOMContentLoaded', function() {
   var links = document.querySelectorAll('a[data-id]');
   links.forEach(function(link) {
       var id = link.getAttribute('data-id');
       link.setAttribute('href', '/articles/' + id + '/edit');
   });
});
</script>
<a href="#" data-id="{{ full['id'] }}">Linktext</a>

Symfony Path અને JavaScript સાથે ડાયનેમિક URL જનરેટ કરવું

આ અભિગમ લાભ આપે છે |કાચા Twig ની બહાર નીકળતી વર્તણૂકને ટાળીને જાવાસ્ક્રિપ્ટમાં વેરિયેબલને સુરક્ષિત રીતે પસાર કરવા માટે JSON એન્કોડિંગનો ઉપયોગ કરીને યોગ્ય રીતે ફિલ્ટર કરો.

// Solution 2: Using JSON encoding and JavaScript to handle the path// file.html.twig<code><script>
var articleId = {{ full['id']|json_encode|raw }};
var articleLink = '<a href="/articles/' + articleId + '/edit">Linktext</a>';
document.write(articleLink);
</script>

JavaScript વેરીએબલ્સ સાથે ટ્વિગમાં URL ને હેન્ડલ કરવું

આ પદ્ધતિમાં ટ્વીગમાં URL માળખું પૂર્વ-વ્યાખ્યાયિત કરવું અને પછીથી જાવાસ્ક્રિપ્ટ વેરીએબલ ઉમેરવાનો સમાવેશ થાય છે, ડાયનેમિક URL જનરેશન માટે ટેમ્પલેટ લિટરલ્સનો ઉપયોગ કરીને.

// Solution 3: Predefine Twig path and append variable later// file.html.twig<code><script>
var baseUrl = "{{ path('article_edit', {id: '__ID__'}) }}";
baseUrl = baseUrl.replace('__ID__', full['id']);
document.write('<a href="' + baseUrl + '">Linktext</a>');
</script>

ટ્વિગ પાથ અને જાવાસ્ક્રિપ્ટ એકીકરણ પડકારોને સમજવું

ટ્વિગ્સને એકીકૃત કરવાનું બીજું નિર્ણાયક પાસું પાથ() JavaScript માં કાર્ય એ સમજવું છે કે કેવી રીતે સર્વર-સાઇડ અને ક્લાયંટ-સાઇડ કોડ ગતિશીલ વેબ એપ્લિકેશનમાં ક્રિયાપ્રતિક્રિયા કરે છે. ટ્વીગ મુખ્યત્વે સ્ટેટિક HTML કન્ટેન્ટ જનરેટ કરવા માટે જવાબદાર હોવાથી, તે જાવાસ્ક્રિપ્ટની જેમ ક્લાયંટ-સાઇડ વેરીએબલ્સની સ્વાભાવિક રીતે ઍક્સેસ ધરાવતી નથી. આનો અર્થ એ છે કે JavaScript દ્વારા બનાવેલ અથવા ચાલાકીથી વેરિયેબલ્સને Twig ટેમ્પલેટ્સમાં સીધું ઇન્જેક્ટ કરી શકાતું નથી સિવાય કે તે AJAX કૉલ્સ અથવા અન્ય સર્વર-ક્લાયન્ટ કમ્યુનિકેશન મિકેનિઝમમાંથી પસાર થાય.

ટ્વિગ્સનો ઉપયોગ કરતી વખતે |કાચા ફિલ્ટર, વિકાસકર્તાઓ ઘણીવાર અપેક્ષા રાખે છે કે તે HTML અથવા JavaScript કોડને બહાર નીકળતા અટકાવશે. જો કે, આ ફિલ્ટર ફક્ત તે નિયંત્રિત કરે છે કે કેવી રીતે ટ્વિગ સર્વર-સાઇડ વેરીએબલ્સની પ્રક્રિયા કરે છે અને HTML રેન્ડર થઈ જાય તે પછી બ્રાઉઝર ડેટાને કેવી રીતે હેન્ડલ કરે છે તેની સીધી અસર કરતું નથી. આ કારણે અમુક અક્ષરો, જેમ કે અવતરણ ચિહ્નો અથવા જગ્યાઓ, હજુ પણ અંતિમ આઉટપુટમાં છટકી શકે છે, જે અગાઉ વર્ણવેલ જેવી સમસ્યાઓ તરફ દોરી જાય છે. આને ઉકેલવા માટે, JavaScript અને સર્વર-સાઇડ રેન્ડર કરેલ HTML વચ્ચે સાવચેતીપૂર્વક સંકલન જરૂરી છે.

આ ક્રિયાપ્રતિક્રિયાને અસરકારક રીતે સંચાલિત કરવા માટે, સર્વર-સાઇડ ડેટાના આધારે ગતિશીલ રીતે JavaScript લોડ કરવાનો એક અભિગમ છે. JSON. સર્વર પર પાથ URL જનરેટ કરીને, પરંતુ તેને JSON-એનકોડેડ ચલ તરીકે JavaScript પર મોકલીને, તમે ખાતરી કરો છો કે બંને બાજુઓ સમન્વયિત રાખવામાં આવી છે. ડાયનેમિક URL અને ઇન્ટરફેસ બનાવવા માટે જરૂરી સુગમતા જાળવી રાખતી વખતે આ અતિશય ભાગી જવાની જરૂરિયાતને દૂર કરે છે. આ અભિગમ એપ્લીકેશનમાં વધુને વધુ મૂલ્યવાન બને છે જ્યાં સર્વરમાંથી નવો ડેટા મેળવવા માટે AJAX નો વારંવાર ઉપયોગ થાય છે.

Twig અને JavaScript એકીકરણ વિશે વારંવાર પૂછાતા પ્રશ્નો

  1. હું કેવી રીતે ઉપયોગ કરી શકું path() Twig માં JavaScript ની અંદર કાર્ય?
  2. તમે ઉપયોગ કરી શકો છો path() યુઆરએલ જનરેટ કરવા માટે ફંક્શન, પરંતુ ખાતરી કરો કે તમે ડેટા એટ્રિબ્યુટ્સ અથવા JSON દ્વારા કોઈપણ ડાયનેમિક JavaScript વેરિયેબલ પસાર કરો છો.
  3. શા માટે ટ્વિગ મારી જાવાસ્ક્રિપ્ટ વેરિયેબલ્સ સાથે પણ છટકી જાય છે |raw?
  4. |raw ફિલ્ટર નિયંત્રણ કરે છે કે સર્વર-સાઇડ વેરિયેબલ્સ કેવી રીતે રેન્ડર કરવામાં આવે છે, પરંતુ ક્લાયંટ-સાઇડ JavaScript ચલો હજુ પણ બ્રાઉઝર એસ્કેપિંગને આધીન છે, તેથી જ એવું લાગે છે કે ટ્વિગ ફિલ્ટરને અવગણે છે.
  5. શું હું JavaScript વેરીએબલ્સને સીધા જ Twig પર પાસ કરી શકું?
  6. ના, Twig સર્વર-સાઇડનું સંચાલન કરતું હોવાથી, તમારે JavaScript વેરીએબલ્સને સર્વર પર અને Twig માં પાછું પાસ કરવા માટે AJAX અથવા અન્ય સંચાર પદ્ધતિનો ઉપયોગ કરવો આવશ્યક છે.
  7. હું URL ને Twig ટેમ્પલેટ્સમાં છટકી જવાથી કેવી રીતે અટકાવી શકું?
  8. નો ઉપયોગ કરો |raw કાળજીપૂર્વક ફિલ્ટર કરો, પરંતુ સમસ્યાઓથી બચ્યા વિના જાવાસ્ક્રિપ્ટમાં ગતિશીલ સામગ્રીને સુરક્ષિત રીતે પસાર કરવા માટે JSON એન્કોડિંગ જેવા વિકલ્પોનો વિચાર કરો.
  9. હું Twig સાથે Symfony માં ડાયનેમિક પાથને કેવી રીતે હેન્ડલ કરી શકું?
  10. નો ઉપયોગ કરીને પ્લેસહોલ્ડર્સ સાથે પાથ માળખું પૂર્વવ્યાખ્યાયિત કરો path() એકવાર ડેટા ઉપલબ્ધ થાય તે પછી તે પ્લેસહોલ્ડર્સને JavaScript સાથે ફંક્શન અને બદલો.

Twig Path અને JavaScript મેનેજ કરવા માટેના મુખ્ય ઉપાયો

સિમ્ફોની અને ટ્વિગ સાથે કામ કરતી વખતે, સર્વર-સાઇડ અને ક્લાયંટ-સાઇડ કોડ વચ્ચેની ક્રિયાપ્રતિક્રિયાનું સંચાલન કરવું મહત્વપૂર્ણ છે, ખાસ કરીને જ્યારે ડાયનેમિક URL નો ઉપયોગ કરો. ડેટા એટ્રિબ્યુટ્સ અથવા JSON એન્કોડિંગનો ઉપયોગ આ તફાવતને દૂર કરવામાં અને URL એસ્કેપિંગ જેવી સમસ્યાઓને રોકવામાં મદદ કરી શકે છે.

આખરે, યોગ્ય અભિગમ પસંદ કરવો એ પ્રોજેક્ટની જટિલતા અને સર્વર અને ક્લાયંટ વચ્ચે ગતિશીલ સામગ્રીને કેટલી વાર ક્રિયાપ્રતિક્રિયા કરવાની જરૂર છે તેના પર આધાર રાખે છે. ની મર્યાદાઓને સમજવી |કાચા ફિલ્ટર વિકાસકર્તાઓને ડાયનેમિક URL જનરેશનમાં સામાન્ય સમસ્યાઓ ટાળવા દેશે.

સ્ત્રોતો અને સંદર્ભો
  1. નો ઉપયોગ કેવી રીતે કરવો તેની વિગતો |કાચા ટ્વિગમાં ફિલ્ટર અને જાવાસ્ક્રિપ્ટ સાથેની તેની ક્રિયાપ્રતિક્રિયા સત્તાવાર સિમ્ફોની દસ્તાવેજીકરણમાંથી લેવામાં આવી હતી. વધુ માહિતી માટે, અધિકારીની મુલાકાત લો સિમ્ફોની ટ્વિગ દસ્તાવેજીકરણ .
  2. ટ્વિગ્સનું ઉદાહરણ પાથ() ફંક્શનનો ઉપયોગ અને ડાયનેમિક URL જનરેશન વ્યૂહરચના PHP સમુદાય ફોરમ ચર્ચાઓમાંથી આવી છે. પર વિગતવાર ચર્ચાઓ તપાસો સ્ટેકઓવરફ્લો .
  3. PHP ફિડલનો ઉપયોગ કરીને સમસ્યાનું જીવંત પ્રદર્શન જાવાસ્ક્રિપ્ટમાં ટ્વિગ સાથે બહાર નીકળતી સમસ્યાને દર્શાવવા માટે સંદર્ભિત કરવામાં આવ્યું હતું. પર ઉદાહરણ જુઓ PHP ફિડલ ઉદાહરણ .