სხვა

ზუსტი პროფილის php id. XHProf და xDebug - PHP კოდის პროფილირება. გააკეთე ის, რაც გიყვარს

აპლიკაციის პროფილირება არის მონაცემთა შეგროვება პროგრამის სხვადასხვა განყოფილებების (ფაილები და ფუნქციები) შესრულების სიჩქარის შესახებ. უამრავი ინსტრუმენტია PHP პროფილირება, მაგრამ ყველა ინსტრუმენტი არ არის შესაფერისი ანალიზის ჩასატარებლად უშუალოდ წარმოებაში.

XH პროფ- მეგა მარტივი პროფილერი, რომელიც აგროვებს სტატისტიკას უშუალოდ, სანამ აპლიკაცია მუშაობს თითქმის ზედმეტი ხარჯების გარეშე.

რატომ პროფილი?

თუ აპლიკაცია ნელა იწყებს მუშაობას, პროფილირება დაგეხმარებათ გაიგოთ, რომელი ნაწილია ნელი. პროფილირების შედეგი, როგორც წესი, არის შესრულებული ფუნქციების სია და მათი შესრულების დრო.

პროფილირება უნდა მოხდეს ნებისმიერი აპლიკაციის ოპტიმიზაციამდე. წინააღმდეგ შემთხვევაში, თქვენ იხელმძღვანელებთ ვარაუდებით. დიდი ალბათობით არასწორია.

Xdebug პრობლემა

Xdebug არის ძლიერი გადაწყვეტა PHP-სთვის. მაგრამ თავად Xdebug პლატფორმა იმდენად მძიმეა, რომ ის არ შეიძლება გამოყენებულ იქნას პირდაპირ საიტებზე. XDebug ქმნის მნიშვნელოვან დატვირთვას სერვერის რესურსებზე და ანელებს აპლიკაციას.

მეორეს მხრივ, პირდაპირ საიტზე არსებული პრობლემები შეიძლება სრულიად განსხვავებული იყოს განვითარების გარემოში არსებული პრობლემებისგან. მხოლოდ დეველოპერის კომპიუტერებზე პროფილირება აჩვენებს პრობლემების მხოლოდ ნაწილს.

სწორედ ამიტომ შემუშავდა გამოსავალი XH პროფ. ის განკუთვნილია გაშვებულ აპლიკაციებში გამოსაყენებლად. ამ პროფილერის მთავარი იდეაა აპლიკაციაზე მინიმალური დატვირთვის შექმნა ოპერაციის სიჩქარის შესახებ ყველა საჭირო მონაცემის შეგროვებისას. გამოსავალი შეიმუშავეს ბიჭებმა ფეისბუქიდან და მხარდაჭერილია PHP-ის ახალი ვერსიებით.

XH პროფ

ინსტალაცია

Debian-ზე XHprof არის sid პაკეტებში, ასე რომ: apt-get დააინსტალირე xhprof

თქვენ ასევე შეგიძლიათ თავად შექმნათ XHprof.

პროფილირების ჩართვა

ვთქვათ, გვაქვს სკრიპტი შემდეგი კოდით:

execute();

მოდით განვახორციელოთ პროფილირება XHprof-ის გამოყენებით. ამის გასაკეთებლად ამ გვერდზე გჭირდებათ:

  1. ჩართეთ პროფილერი თავიდანვე.
  2. პროგრამის ბოლოს შეაჩერეთ პროფილერი და შეინახეთ მიღებული მონაცემები.

ეს ასე გამოიყურება:

# პროფილერის ინიციალიზაციაxhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); # შეასრულეთ პროგრამა პროფილერის ჩართვის შემდეგ execute(); # გააჩერეთ პროფილერი პროგრამის შესრულების შემდეგ$xhprof_data = xhprof_disable();

# შეინახეთ პროფილის შედეგი $xhprof_data ცვლადში

  • ფუნქცია xhprof_enable()არგუმენტად იღებს დროშებს. XHPROF_FLAGS_CPU პროცესორის სტატისტიკის ჩასაწერად, XHPROF_FLAGS_MEMORY მეხსიერებისთვის, XHPROF_FLAGS_NO_BUILTINS ჩაშენებული ფუნქციების უგულებელყოფისთვის.
  • xhprof_disable()გამორთავს პროფილერს და დააბრუნებს შეგროვებულ სტატისტიკას.

ანგარიშები

თაობა

შეგროვებული მონაცემები შეიძლება გაანალიზდეს XHprof ინტერფეისში ანგარიშების გენერირებისთვის. ამისათვის თქვენ უნდა ჩამოტვირთოთ XHprof წყაროები: cd /var/www; wget http://pecl.php.net/get/xhprof-0.9.4.tgz gzip -d xhprof-0.9.4.tgz tar -xvf xhprof-0.9.4.tar

ამის შემდეგ, თქვენ უნდა შეიტანოთ ცვლილებები სკრიპტში:

include_once "/var/www/xhprof-0.9.4/xhprof_lib/utils/xhprof_lib.php"; include_once "/var/www/xhprof-0.9.4/xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = ახალი XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "ტესტი");

# ახალი კოდი ინახავს ანგარიშს GUI-ში გამოსაყენებლად

ინტერფეისი მოხსენებებისთვის

ანგარიშის სანახავად, თქვენ უნდა დააკონფიგურიროთ ვირტუალური ჰოსტი /var/www/xhprof-0.9.4/xhprof_html საქაღალდეში. მაგალითად, Nginx-ში:

სერვერი (server_name xh..9.4/xhprof_html; index index.php; მდებარეობა ~* \.(php)$ (fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; მოიცავს fastcgi_params; fastcgi_param SCRIPT_FILE NAMEx)$dong) -s გადატვირთვა

ამის შემდეგ გამოჩნდება მოხსენებების სია:

ცხრილი შეიცავს ფუნქციების ჩამონათვალს, რომლებიც შესრულდა ერთ გვერდზე, დამატებითი ინფორმაციით:

  • ზარები — ფუნქციის ზარების რაოდენობა და პროცენტი.
  • ჩათვლით Wall Time — ფუნქციის შესრულების დრო ჩადგმული ფუნქციებით.
  • გამოკლ. Wall Time არის ფუნქციის შესრულების დრო ჩადგმული ფუნქციების გარეშე.
  • ჩათვლით CPU - პროცესორის დრო ჩადგმული ფუნქციებით.
  • გამოკლ. CPU - პროცესორის დრო ჩადგმული ფუნქციების გარეშე.
  • ჩათვლით MemUse - მეხსიერების მოხმარება ჩადგმული ფუნქციებით.
  • გამოკლ. MemUse - მეხსიერების მოხმარება ჩადგმული ფუნქციების გარეშე.
  • ჩათვლით PeakMemUse - მეხსიერების მაქსიმალური მოხმარება ჩადგმული ფუნქციებით.
  • გამოკლ. PeakMemUse - მეხსიერების მაქსიმალური მოხმარება ჩადგმული ფუნქციების გარეშე.

გრაფიკული ანგარიშები

გრაფიკული ანგარიშის შესაქმნელად, დარწმუნდით, რომ დაინსტალირებული გაქვთ graphviz: apt-get install graphviz

კოდის რესურსზე ინტენსიური სექციები მონიშნულია ყვითლად (საშუალო) და წითლად (ყველაზე მძიმე). ეს არის კოდის ის სექციები, რომლებიც იყენებენ უამრავ რესურსს პროგრამის დანარჩენთან შედარებით. ეს შეიძლება იყოს ერთი ნელი ფუნქცია ან მრავალი ზარი სწრაფ ფუნქციაზე. ჩვენს მაგალითში ფუნქცია str_replace()მონიშნულია წითლად 262 ზარის გამო.

საერთო ანგარიშები

XHprof ინტერფეისი ასევე საშუალებას გაძლევთ ნახოთ მთლიანი ინფორმაცია რამდენიმე მოხსენებიდან ერთდროულად. ამისათვის run_id გადაეცემა მძიმით გამოყოფილი: http://xh..php?run= 53a894f6d5d9b,53a894fcf126e&წყარო=ტესტი

TL; DR

გამოიყენეთ XHprof PHP-ის პროფილისთვის პირდაპირ წარმოებაში.

პროფილირების სისტემების გამოყენებით შეგიძლიათ შეაგროვოთ ინფორმაცია იმის შესახებ, თუ რომელი ფუნქციები PHP კოდში მოიხმარს მეტ პროცესორის დროსა და RAM-ს, ანუ დაადგინეთ ყველაზე ნელი და მეხსიერების მოთხოვნადი ადგილები PHP პროგრამაში.

xhპროფ

XHProf - PHP პროფილერი შექმნილია Facebook-ის მიერ.

ინსტალაცია:

Aptitude install php-pear pecl install xhprof-0.9.4 echo "extension=xhprof.so" > /etc/php5/mods-available/xhprof.ini ln -s /etc/php5/mods-available/xhprof.ini /etc /php5/conf.d/xhprof.ini apachectl გადატვირთვა

სამუშაოსთვის საჭირო ფაილები განთავსებულია დირექტორიაში /usr/share/php. თუმცა, არა ყველაფერი, მაგრამ მხოლოდ PHP კოდით. ანგარიშების ნორმალური ჩვენებისთვის საჭიროა jquery და css. მათი მიღება შესაძლებელია github საცავიდან:

Git კლონი https://github.com/facebook/xhprof.git

ამის შემდეგ, დაამატეთ ხაზი PHP სკრიპტის კოდს იმ ადგილას, სადაც მონაცემთა შეგროვება უნდა დაიწყოს:

Xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

მონაცემების შეგროვების პარამეტრები მითითებულია ფრჩხილებში. ამ შემთხვევაში, მონაცემები შეგროვდება პროცესორის დატვირთვისა და ოპერატიული მეხსიერების გამოყენების შესახებ. შესაძლებელია კიდევ ერთი ვარიანტი XHPROF_FLAGS_NO_BUILTINSგამოყენებისას მონაცემები ჩაშენებული ფუნქციების შესახებ არ გროვდება.

$xhprof_data = xhprof_disable(); მოიცავს_ერთხელ "xhprof_lib/utils/xhprof_lib.php"; include_once "xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = ახალი XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test"); echo "ანგარიში: http://domain.tld/xhprof_html/index.php?run=$run_id&source=xhprof_test"; ექო "\n";

რიგში $run_idბრჭყალებში მითითებულია პროფილის სახელი, რომელიც შეიძლება თვითნებურად დაყენდეს.

დამუშავებული შედეგი ასე გამოიყურება:

თუ მიუთითებთ პარამეტრს XHPROF_FLAGS_NO_BUILTINS, ჩანს, რომ ფუნქციის ზარების რაოდენობა მნიშვნელოვნად შემცირდა:

ცხრილში მოცემულია შემდეგი ინფორმაცია:

რეკავს- ფუნქციის ზარების რაოდენობა,
Wall Time- ფუნქციის მთლიანი ოპერაციული დრო, მათ შორის გარე რესურსების პასუხის მოლოდინში გატარებული დრო,
CPU- რამდენი დრო დაიხარჯა ფუნქციების დამუშავებაზე,
MemUse- რამდენი ოპერატიული მეხსიერება იყო გამოყენებული,
PeakMemUse- მეხსიერების მაქსიმალური მოხმარება.

მოდიფიკატორები არიან:

ჩათვლით- ინკლუზიური - ამ ფუნქციის სხვა ფუნქციების ზარების გათვალისწინებით,
გამოკლ.- ექსკლუზიური - ფუნქციური ზარების გამოკლებით.

გარდა ამისა, ცხრილის ზემოთ არის ინფორმაცია დამუშავების მთლიანი დროის, გამოყენებული მეხსიერების და ფუნქციის ზარების რაოდენობის შესახებ.

ასევე XH პროფსაშუალებას გაძლევთ შექმნათ განსხვავებების ანგარიშები ორ გაშვებას შორის, რომლებიც მითითებულია წითელი და მწვანე ფერებით. ამ მოხსენებებით, თქვენ შეგიძლიათ მიიღოთ გაუმჯობესების მკაფიო სურათი კოდის ყოველი ცვლილების შემდეგ.

ასეთი ანგარიშის მისაღებად, თქვენ უნდა გამოიყენოთ ეს ბმული:

http://domain.tld/xhprof_html/index.php?run1=run_id1&run2=run_id2&source=xhprof_test

სად run_id1და run_id2- გაშვების იდენტიფიკატორები.

თუ დააინსტალირეთ გრაფვიზი:

Aptitude install graphviz

ასევე არსებობს მესამე მხარის ვებ ინტერფეისები php profiler xhprof-ისთვის, რომლებიც იყენებენ მონაცემთა ბაზებს:

xDebug

xDebug- PHP კოდის გამართვა პროფილირების შესაძლებლობით, დაწერილი დერიკ რეთანსის მიერ.

ინსტალაცია:

დააინსტალირეთ php5-xdebug

შემდეგ ჩვენ ვასწორებთ კონფიგურაციას:

ნანო /etc/php5/mods-available/xdebug.ini

მასში ხაზების დამატება:

Xdebug.profiler_enable = 1 xdebug.profiler_aggregate = xdebug.profiler_output_dir = /tmp

აქ ჩვენ ჩართავთ PHP პროფილერს და ვაზუსტებთ დირექტორიას, რომელშიც უნდა შეინახოს პროფილები. პროფილები იქმნება ისეთი სახელებით, როგორიცაა cachegrind.out.*

არის webgrind ვებ კლიენტი: https://github.com/jokkedk/webgrind. ის არ მუშაობს ძალიან სწრაფად, მაგრამ საშუალებას გაძლევთ სწრაფად ნახოთ მცირე პროფილები. სინამდვილეში, ეს არის PHP კოდი, რომელიც უნდა იყოს კლონირებული github-დან:

Git კლონი https://github.com/jokkedk/webgrind.git

შეიქმნება დირექტორია ვებგრინდი, რომელიც თქვენ უნდა დააკოპიროთ ნებისმიერი საიტის დირექტორიაში და შეხვიდეთ მას ბრაუზერიდან. შემდეგი, იმისათვის, რომ კონფიგურაციის ფაილში შეთქმულება იმუშაოს Debian-ში config.phpთქვენ უნდა შეასწოროთ გზა შესრულებადი ფაილისკენ graphviz. ეს ასე უნდა გამოიყურებოდეს:

Static $dotExecutable = "/usr/bin/dot";

გარდა ამისა, შეგიძლიათ დაარეგულიროთ დროის სარტყელი:

Static $defaultTimezone = "ევროპა/მოსკოვი";

სათაურში შეგიძლიათ აირჩიოთ პროფილი და მონიშნოთ ველი ჩაშენებული ფუნქციების გასათვალისწინებლად. თავად ცხრილი აჩვენებს ფუნქციებს, ზარების რაოდენობას, თავად ფუნქციის მუშაობის დროს და ლოდინის დროს. ფუნქციებში უფრო ღრმად ჩასასვლელად, უბრალოდ დააჭირეთ სამკუთხა ისარს. ჩემს შემთხვევაში, საკმაოდ დიდი პროფილებით (რამდენიმე მეგაბაიტიდან), შედეგზე ლოდინი ზედმეტად მაღალი იყო. ალბათ ჯობია გამოიყენოთ ადგილობრივი სანახავი პროგრამები საკმაოდ დიდი პროფილებისთვის.

გრაფიკი შეიძლება ასე გამოიყურებოდეს:

გაითვალისწინეთ რომ ვებგრინდიარ უნდა იქნას გამოყენებული წარმოების სერვერებზე, რადგან ავტორიზაცია არ არის გათვალისწინებული, მაგრამ არის წვდომა php ფაილის კოდზე. საჭიროების შემთხვევაში, გამოიყენეთ მინიმუმ ძირითადი Apache ავტორიზაცია.

ასევე არსებობს ლინუქსის პროფილების ანალიზის პროგრამები:

პროფილირების შესახებ

პროფილის მონაცემები დაგეხმარებათ გააუმჯობესოთ თქვენი აპლიკაცია, ანუ მიაღწიოთ გარკვეულ მიზნებს, მაგალითად, შეამციროთ მეხსიერების მოხმარება, შეამციროთ გვერდის შექმნის დრო და ა.შ.

პროფილში არსებული ინფორმაცია არის ოპტიმიზაციის საწყისი წერტილი: ის გვიჩვენებს, რამდენი დრო სჭირდება შედეგის გენერირებას, რამდენი მეხსიერებაა გამოყენებული და რამდენი ფუნქციის გამოძახება ხდება. უფრო დეტალური მონაცემებით, შეგიძლიათ გააუმჯობესოთ ეს მეტრიკები.

მაგალითად, თუ თქვენ იყენებთ ფრეიმიკს, მაშინ ფრეიმერის ზოგიერთი ფუნქციის გამოყენებამ შეიძლება გამოიწვიოს რამდენიმე ძირითადი ფუნქციის გამოძახება. თუ ზოგიერთ მონაცემს რამდენჯერმე კითხულობთ, შეიძლება ღირდეს შედეგის შენახვა ცვლადში.

პროფილერი ასევე დაგეხმარებათ გაიგოთ სად გამოიყენოთ PHP კოდების ქეშირება, მაგალითად, გამოყენებით APCuან მემქეშირებული.

უპირველეს ყოვლისა, ღირს იმ ფუნქციების ოპტიმიზაცია, რომლებიც ყველაზე მეტ დროს მოითხოვს. მას შემდეგ, რაც ყველაფერი ოპტიმიზირებულია და როგორც ჩანს, გასაუმჯობესებელი არაფერია, ღირს ფუნქციების დახარისხება ზარების რაოდენობის მიხედვით და მის შემცირებაზე მუშაობა. მაშინაც კი, თუ PHP სწრაფია, ღირს იმის გათვალისწინება, საჭიროა თუ არა ფუნქციების ასე ხშირად გამოძახება?

თუ შეხვდებით შემდეგ სიტუაციებს, უნდა გაითვალისწინოთ ქეშირება:

  • უცვლელი ფუნქციები იწოდება მარყუჟის შიგნით,
  • ზოგიერთი შინაარსი ორჯერ იქმნება,
  • კონტენტი, რომელიც არ იცვლება, ყოველ ჯერზე იქმნება,
  • კონტენტი იქმნება მაშინაც კი, თუ ის არ გამოიყენება.

არ უნდა შეინახოთ ყველაფერი, რადგან მეხსიერება ასევე ღირებული რესურსია. იმ მონაცემების ქეშირება, რომლებსაც მუდმივად წვდებით. ასევე, ქეშირებას აზრი არ აქვს, თუ ქეშირება უფრო მეტ რესურსს ხარჯავს, ვიდრე დაზოგავს.

კოდის ქეშირების გარდა, არ დაივიწყოთ ქეშირება ვებ სერვერის გამოყენებით (), ასევე კლიენტის მხარეს. თუ თქვენ იყენებთ სწორ სათაურებს, ბევრი მოთხოვნა შეიძლება გადაიჭრას სანამ ისინი სერვერს მიაღწევენ.

სიგნალი იმისა, რომ ადამიანი "ჩავარდა".

ბევრი ადამიანი ამას საერთოდ ვერ ამჩნევს.

მათ თავზე „ბეტონის ფილა“ იმდენად ნაცნობი და ნაცნობი ჩანს, რომ ისინი შემოქმედებით მდგომარეობაზე გადასვლას - როცა ძალით სავსენი არიან და თავს ყოვლისშემძლედ გრძნობენ და ყველაფერთან ერთიანობაში - რაღაც უჩვეულოდ აღიქვამენ... მათთვის ეს არის ძლიერი გარღვევა.

მაგრამ ეს არის ადამიანის ბუნებრივი მდგომარეობა?!

ასე რომ, როდესაც თქვენ:

ნაბიჯი საკუთარი თავისკენ. გამოწვევა ყოველდღე

არ იცით როგორ ისწავლოთ საკუთარი თავის სიყვარული?

მიიღეთ 14 სავარჯიშო, რომელიც დაგეხმარებათ მიიღოთ საკუთარი თავი და თქვენი ცხოვრება მთლიანად!

ღილაკზე „მყისიერი წვდომა“ დაწკაპუნებით თქვენ ეთანხმებით თქვენი პერსონალური მონაცემების დამუშავებას და ეთანხმებით ამას

  • საკუთარ თავში სიბრალულში ჩავარდები
  • ხშირად თავს ცუდ ხასიათზე გრძნობთ
  • თავს პატარად და უღირსად გრძნობ
  • ემოციები ამოძრავებთ
  • მოქმედება "ავტომატურად"
  • არ მინდა დილით ადგომა
  • მუდმივი დაბრკოლებების წინაშე დგახართ
  • უძლურების გრძნობა

უსაფრთხოდ შეიძლება ითქვას, რომ თქვენ წარუმატებელი ხართ.

და პირველი ნაბიჯი "განკურნების" გზაზე არის ნახეთ და გააცნობიერეთ, რომ დაეცა... ჩვეული შემოქმედებითი მდგომარეობიდან გამოვარდა.

რაც უფრო ადრე გააკეთებთ ამას, მით უფრო მალე მიიღებთ ზომებს, რომ დაუბრუნდეთ საკუთარ თავს!

თუ "ჩავარდა" - როგორ გამოვიდეთ 3D ხვრელიდან

მას შემდეგ რაც გააცნობიერებთ, რომ ეს არ არის თქვენს გარშემო არსებული სამყარო, რომელიც მოულოდნელად გახდა ნაცრისფერი და მოსაწყენი, არამედ რომ თქვენ თვითონ დაიწყეთ მისი აღქმა, როგორც ასეთი, თქვენი მთავარი ამოცანაა გადართვა.

ამის გაკეთება შეგიძლიათ სხვადასხვა გზით:

1. დაუკარით მუსიკა, რომელიც შთაგაგონებთ

გაღიზიანება, დაღლილობა და ცუდი განწყობა ქმნის დაბალი ვიბრაციის ენერგიის ქოქოსს თქვენს გარშემო.

შეაგროვეთ ტრეკებისა და კომპოზიციების თქვენი კოლექცია, რომელიც საშუალებას მოგცემთ დააყენოთ უფრო მაღალი ვიბრაცია.

რა შეიძლება იყოს უფრო ადვილი, ვიდრე პლეერში საყვარელი სიმღერების ჩართვა და ჩვეული საქმეების კეთება!

ჩვეულებრივ, ასეთ მდგომარეობაში ადამიანს რაღაც მელანქოლიური და დეკადენტურიც კი მიზიდავს, განწყობის შესატყვისად... სასწრაფოდ გადართე!

ასეთ მომენტებში მე თვითონ ვურევ ანასტასია დობროვოლსკაიას მიერ შესრულებულ Halleluja-ს)))

წარუმატებლობისას თავს იზოლირებულად გრძნობთ და არავინ გაფასებთ და არ ესმით. სიმწარე და თავმოყვარეობა იზრდება შიგნით.

ამ მომენტში თქვენი გული დაფარულია მძიმე ჯავშნით, რომელიც შექმნილია თქვენს დასაცავად.

შემოქმედებით მდგომარეობაში ჩაკეტილი გულით შესვლა შეუძლებელია!

ასე რომ, თქვენი ამოცანაა აღადგინეთ საკუთარი მგრძნობელობა. ეს შეიძლება გაკეთდეს მედიტაციური პრაქტიკის მეშვეობით (იხ. პუნქტი 6).

ან შეუთავსეთ კარგი ფილმის ყურების უპირატესობა და სიამოვნება.

კომედიები არ გამოდგება. თქვენ გჭირდებათ ფილმი, რომელიც თქვენს სულს ეხება და თანაგრძნობას გაიძულებს!

მაგალითად, ესენი:

3. ჩაეფლო ნათელ შთაბეჭდილებებში

შენი სული საზრდოობს ნათელი ფერებით. მიეცით მას ეს. თუნდაც "არ მინდა" მეშვეობით!

გადი სახლიდან. წადით საყიდლებზე, გალერეებში, მუზეუმებში. რეალურ ცხოვრებაში ან ვირტუალურად (ინტერნეტი ამის საშუალებას იძლევა).

პირადად მე ძალიან შთაგონებული ვარ ღამის ქალაქის განათებით.

წუხელ კი ზღაპარში აღმოვჩნდით: გარეთ ნისლი იყო და გადავწყვიტეთ ზღვაზე წავსულიყავით... ტალღების შრიალი, ირგვლივ რძიანი ნისლი და ლამპიონების მომხიბლავი შუქი... სრულიად ირეალური. სამწუხაროა, რომ ტექნოლოგია ვერ გადმოსცემს ამ სილამაზეს.

4. აკეთე ის, რაც გიყვარს

როდესაც ჩაძირული ხარ იმაში, რისი კეთებაც გიყვარს, ინტრუზიული აზრები, ეჭვები და კითხვები უკანა პლანზე ქრება.

თქვენ ააქტიურებთ თქვენს კრეატიულობას და ქმნით.

შესაძლოა, მაშინვე ვერ დაიჭიროთ იმით, რასაც აკეთებთ... მთავარია, შუა გზაზე არ გაჩერდეთ. ეს არის თქვენი რესურსის მდგომარეობა და თქვენ ეს იცით.

ასე რომ, ნუ გადადებთ ამას მოგვიანებით, დაუთმეთ დრო, რომ ჩაეშვათ იმაში, რაც გიყვართ ვნებით.

5. დაშორდი ბუნებას

ბუნებას არ აქვს ცუდი ამინდი, ცუდი განწყობა. ბუნება ბუნებრივად დაბალანსების საშუალებას გაძლევთ.

მაშინაც კი, თუ მთელი ოჯახი სასეირნოდ წახვალთ, გთხოვთ, 10 წუთის განმავლობაში არ შეეხოთ მას. განზე გადი, მოუსმინე ქარის ხმას, ხეების ხრაშუნს, შეეხეთ უხეშ ქერქს. შეხედე ცას. შეიწოვეთ ბუნების ბალანსი ყველა უჯრედში.

როგორც კი ყურადღებას გადაიტანთ, შემდეგი ნაბიჯის დროა. ახლა თქვენ მეტ-ნაკლებად გაწონასწორებული ხართ და შეგიძლიათ შეასრულოთ მარტივი პრაქტიკა, რომელიც დაგეხმარებათ ჩვეულ მდგომარეობაში დაბრუნებაში.

შესაფერისია ჰარმონიზაციისა და დაბალანსების ნებისმიერი მეთოდი, გულის გახსნისა და სულის ვერტიკალური არხის აშენების პრაქტიკა, ასევე ენერგეტიკული პრაქტიკა თქვენი ენერგიის დონის ასამაღლებლად.

6. გახსენი შენი გული

თქვენი წყენა, პრეტენზია, საკუთარ თავზე გაბრაზება და თვითკრიტიკა წვეთ-წვეთ ბლოკავს თქვენი გულის ენერგეტიკულ არხებს.

7. ითხოვეთ კურთხევა და მხარდაჭერა თქვენი უმაღლესი მეისგან

წარუმატებლობის მომენტში თავს პატარა ადამიანად გრძნობთ, ისე ჩვეულებრივად და სპონტანურად, რომ დიდი ალბათობით დაგავიწყდებათ, რომ თქვენ არ ხართ მხოლოდ თქვენი სხეული, თქვენი აზრები და გრძნობები.

ივიწყებ, რომ არის შენში უფრო ბრძენი და მოწინავე ნაწილი - შენი უმაღლესი მე, რომელიც არ ერევა შენს ცხოვრებაში მანამ არ იკითხოამის შესახებ.

ეს ნიშნავს: „ითხოვე და მოგეცემა“!

თუ თქვენ არასოდეს შეხვედრიხართ/ურთიერთობთ ამ ნაწილთან, მედიტაცია დაგეხმარება ამაში.

8. აპატიეთ საკუთარ თავს წარუმატებლობა.

როგორიც არ უნდა იყოს თქვენი მდგომარეობის მიზეზი, იცოდეთ, რომ ქვეცნობიერად თავს პასუხისმგებლად თვლით, მძიმე შემთხვევებში კი დამნაშავედ მომხდარზე.

Ho'oponopono-ს გაწმენდის ტექნიკა შედგება 4 ეტაპისგან: ძალიან ვწუხვარ. ვწუხვარ. გმადლობთ. მიყვარხარ.

მრავალი წლის წინ, როცა ჩემი სამყარო თითქოს ჩემს თვალწინ იშლებოდა, თავში შემდეგი ფრაზები გამიჩნდა:

მე გაპატიებ. მადლობას გიხდი. სიყვარულით გიშვებ.

ზედიზედ რამდენიმე საათი მანტრასავით ხმამაღლა ვამბობდი და მერე მივხვდი, რომ მნიშვნელოვანი ელემენტი დამავიწყდა და დავამატე: საკუთარ თავს ვაპატიებ!

აპატიეთ საკუთარ თავს ამ გამოცდილებისთვის. მადლობა საკუთარ თავს ამისთვის. და გაუშვით სიყვარულით.

9. იმღერე მადლიერების სიმღერა

ბევრ ადამიანს აქვს ამ სიმღერასთან დაკავშირებული მისტიკური გამოცდილება. იმისათვის, რომ ეს თქვენთვის სასარგებლო იყოს, მნიშვნელოვანია შეასრულოთ 3 პირობა: 1) პენსიაზე გასვლა დაახლოებით 15 წუთის განმავლობაში, რათა არავინ შეგაწუხოთ და თავი მოდუნებულად იგრძნოთ, 2) ჩართეთ დინამიკები მაქსიმუმ, 3) იმღერეთ დევა პრემალთან ერთად. "ალილუიას" ქალი ნაწილი მთელი ძალით.

ალილუია მადლიერების სიმღერაა. ყველაფრისთვის, რაც იყო და არის შენს ცხოვრებაში.

დაიჭირეთ ამ კომპოზიციის განწყობა და არ მოგერიდოთ იმღეროთ ისე, როგორც იცით. თქვენი ხმა სასურველ ვიბრაციას მოერგება.

და რადგან ყელის ცენტრი პასუხისმგებელია თქვენს თვითგამოხატვაზე ამ სამყაროში, თქვენ აფრქვევთ არა მხოლოდ მადლიერებას, არამედ გამოხატავთ ვინ ხართ თქვენს არსში, ნიღბების, პრეტენზიების და წარუმატებლობის გარეშე.

სცადე! არ ინანებთ!

P.S. მე გთავაზობთ კომენტარებში გამოაქვეყნოთ იმ ფილმების სახელები, რომლებიც თქვენს სულს შეეხო (არც მუსიკალურ ტრეკებზე ვიტყვით უარს).

P.P.S. მადლობელი ვიქნები, თუ გააზიარეთ თქვენი საყვარელი ვიდეოების ლინკები Youtube-ზე, ჩემი მარაგი უკვე ამოიწურება ((

პროფილის მონაცემთა მარყუჟი ყველაზე რთულია ყველა მორგებული BuddyPress-ის მარყუჟებიდან. ეს არის რეალურად ორი მარყუჟი ერთში, პირველი არის პროფილის ველების ჯგუფების ციკლი, ხოლო მეორე პროფილის ველების გადატანა ამ პროფილის ველების ჯგუფში.

სტანდარტული მარყუჟი

ამ მომხმარებელს არ აქვს პროფილი.

მიღებული პარამეტრები

bp_group_has_profile() ფუნქცია მიიღებს რამდენიმე პარამეტრს, რომლებიც მანიპულირებენ დაბრუნებულ მონაცემებს.

  • profile_group_id სურვილისამებრ

    ნაგულისხმევად გამოჩნდება ყველა ჯგუფი და ყველა ველი. თუ თქვენ მიუთითებთ პროფილის ველის ჯგუფის ID-ს, მაშინ მხოლოდ ამ ჯგუფის ველები გამოჩნდება.

    • ნაგულისხმევი მნიშვნელობა: false
  • user_id სურვილისამებრ

    მომხმარებლის ID, რომლისთვისაც გსურთ პროფილის მონაცემების მიღება. ეს აუცილებელია, თუ წევრის პროფილის URL-ის მიღმა ხართ (/members/andy/…), წინააღმდეგ შემთხვევაში ეს არის ნაჩვენები მომხმარებლის ID.

    • ნაგულისხმევი მნიშვნელობა: bp_displayed_user_id()
  • წევრი_ტიპი სურვილისამებრ

    ველების შეზღუდვა იმ ველებით, რომლებიც შემოიფარგლება კონკრეტული წევრის ტიპით, ან წევრის ტიპების მასივით. თუ $user_id არის მოწოდებული, $member_type-ის მნიშვნელობა გადაფარდება მოწოდებული მომხმარებლის წევრების ტიპებით. "ნებისმიერი" სპეციალური მნიშვნელობა დააბრუნებს მხოლოდ იმ ველებს, რომლებიც შეუზღუდავია წევრის ტიპის მიხედვით - ანუ, ნებისმიერი ტიპისთვის მოქმედი.

    • ნაგულისხმევი მნიშვნელობა: false
  • hide_empty_groups სურვილისამებრ

    ნაგულისხმევად ცარიელი ჯგუფები არ იქნება ნაჩვენები. თუ მიუთითებთ 0 მნიშვნელობას, მაშინ ყველა ჯგუფი გამოჩნდება.

    • ნაგულისხმევი მნიშვნელობა: true
  • hide_empty_fields სურვილისამებრ

    ნაგულისხმევად, ცარიელი ველების ჩვენება მხოლოდ იმ შემთხვევაში, თუ ჩვენ ვართ Dashboard-ზე, ან ჩვენ ვართ მომხმარებლის პროფილის რედაქტირების გვერდზე, ან ეს არის რეგისტრაციის გვერდი. თუ თქვენ მიუთითებთ 0 მნიშვნელობას, მაშინ ყველა ველი გამოჩნდება თქვენს გვერდზე.

    • ნაგულისხმევი მნიშვნელობა: !is_network_admin() && !is_admin() && !bp_is_user_profile_edit() && !bp_is_register_page()
  • fetch_fields სურვილისამებრ

    მოვიტანოთ თუ არა თითოეული ჯგუფის ველები.

    • ნაგულისხმევი მნიშვნელობა: false
  • fetch_fields_data სურვილისამებრ

    უნდა მოიტანოს თუ არა მონაცემები თითოეული ველისთვის. საჭიროებს $user_id-ს.

    • ნაგულისხმევი მნიშვნელობა: false
  • exclude_groups სურვილისამებრ

    მძიმით გამოყოფილი სია ან ჯგუფის ID-ების გამორიცხვა.

    • ნაგულისხმევი მნიშვნელობა: array()
  • exclude_fields სურვილისამებრ

    მძიმით გამოყოფილი სია ან ველების ID-ების მასივი, რომელიც უნდა გამორიცხოთ.

    • ნაგულისხმევი მნიშვნელობა: array()
  • update_meta_cache სურვილისამებრ

    მოხდეს თუ არა წინასწარ მოძიება xprofilemeta ყველა მოძიებული ჯგუფისთვის, ველისა და მონაცემებისთვის.

    • ნაგულისხმევი მნიშვნელობა: true

გაფართოებული გამოყენება

მიიღეთ ყველა პროფილის მონაცემი მომხმარებლისთვის ID 10-ით.

მიიღეთ პროფილის მონაცემები ID 2-ის პროფილის ჯგუფის ველებისთვის ID 10-ის მქონე მომხმარებლისთვის.

მიიღეთ პროფილის მონაცემები ველებისთვის პროფილის ჯგუფის ID 2-ში.

მიიღეთ პროფილის ყველა მონაცემი, თუნდაც ცარიელი ფიდები და ჯგუფები, მიმდინარე მომხმარებლისთვის.

მიიღეთ ყველა პროფილის მონაცემი მომხმარებლისთვის ID 10-ით, ID 5, 6, 7 ველების გამოკლებით.