Software, Web, Уроци

Какво е Encapsulation?

В реалния свят е пълно с „черни кутии“. Замислете се как осъществяваме телефонен разговор чрез мобилен телефон. Повечето хора знаят, че трябва да наберат някого от списъкa им с контакти, телефонът да позвъни и човекът отсреща да вдигне. Но как точно се осъществява тази комуникация? Отговорът на този въпрос можем да го намерим с малко търсене. По-важното е, че това устройство от ежедневието ни извършва доста скрити за обикновения потребител функции. Точно това е предназначението на термина „Encapsulation„. Как да имплементираме Encapsulation в PHP? За да обясня нещата по-кратко, ще продължа с пример от статията от предишната седмица. Може би…

Software, Web, Уроци

Какво представляват Getter и Setter методите?

Директният достъп до property–тата на обектите създава риск за сигурността и стабилността на цялата апликация. Валидирането на данните, които се записват и форматирането при извеждането на стойностите им, намалят тези нежелани ефекти. Използването на getter и setter методи спомага за елиминирането на тези проблеми. Създаване на setter метод Ще започна с класа от предния път и ще го разширя малко: Имаме две нови неща. Първото е, че имаме ново property – age със стойност по подразбиране „0“. Стойността по подразбиране ще ни спести малко главоболия при използването на getter метода. Второто е setter метода – setAge. Конвенцията казва, че името…

Software, Web, Уроци

Създаване на класове и обекти в PHP

Може би си чувал термина „Обектно ориентирано програмиране„? Ако не си, ще обобщя накратко – това е начин на моделиране на програма използвайки обекти. В PHP и други езици, обектите имат свойства, можем да извършваме действия с тях и могат да комуникират помежду си. Комуникацията между обектите е много важна. Този набор от инструменти ни позволява да симулираме различни обекти от реалния живот. Въвеждаща терминология В света на програмирането е общо прието използването на английски език. Поради тази причина цялата терминология е на английски език. Нека започнем с нещо познато – methods. Това са резервирани функции, създадени в класа. Те…

Software, Web, Уроци

Работа с PHP функции

Имате повтаряем код? Искате да преизползвате код на различни места? В тази статия ще ви обясня как да създавате и използвате функции в PHP. Също така ще демонстрирам как се използват итератори и ще ви покажа как можете сами да си създадете итератор. Ще поговоря за Type Hinting и връщане на стойност с тип от функция. Ще покажа и част от функционалното програмиране. Какво представляват функциите? Функцията (или процедурата) представлява парче код, който може да се преизползва многократно. Идеята е взаимствана от математическите функции – подаваме число и след изчислението на функцията извеждаме крайния резултат. В програмирането концепцията е същата,…

Software, Web, Уроци

Web Scraping с PHP

Често се сблъсквам с това – сайтове, които съдържат полезна публична информация, да нямат публично или никакво API. Това затруднява работата на програмиста, ако иска да използва предоставената информация. На помощ идва Web Scraping-ът (повече информация). С този метод се прочита съдържанието на една страница и се изважда необходимата информация. За целта на статията, ще скрейпвам (остъргвам) съдържанието на блога ми. Ако искате да ползвате готовото решение, можете да вземете кода от GitHub. Опознай противника! За да можем да автоматизираме процеса на парсване (правене на разбор) на интернет страница, първо трябва да анализираме нейното съдържание. Това е значителен ръчен труд, но след…

Hardware, Уроци

Полезно: Преминаване от HDD към SSD

Здравейте! Тъй като ми предстои преминаване от HDD (hard disk drive) към SSD (solid state drive), реших да публикувам тази статия. Като за начало, ще започна с това защо това може би е най-добрият ъпгрейд, който може да се направи. Защо SSD, а не HDD? Първо, нека разгледаме как работят стандартните твърди дискове. Най-лесно се вижда от следното видео: Както се вижда, при всяка отделна операция, главата на диска се мести от сектор на сектор. Това води до значително забавяне при обработка на данни и по този начин – по-ниска скорост при четене/писане. Сега да погледнем как работят SSD. Сравнително…