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. Опознай противника! За да можем да автоматизираме процеса на парсване (правене на разбор) на интернет страница, първо трябва да анализираме нейното съдържание. Това е значителен ръчен труд, но след…

Web Сайтове, Проекти

Градска библиотека „Пеньо Пенев“

Още един успешен проект! Проектът имаше за цел да трансформира предходния сайт на градската библиотека в модерен такъв, който да съдържа и система за управление на съдържанието. Естествено, както бихте се досетили, реших да го направя на WordPress. Така се спести доста време за създаване на сайта, добави се система за управление на съдържанието и придоби висока сигурност. Сайтът бе изграден за 3 дни (с предварителния тест), като през цялото време имах подкрепата от екипа на библиотеката. Ето и крайния резултат – ГРАДСКА БИБЛИОТЕКА „ПЕНЬО ПЕНЕВ“. Какъв беше проблемът? Предишният сайт на библиотеката беше стар като дизайн и статичен като съдържание. Това водеше до голям брой проблеми. Основният проблем бе…

Web Сайтове, Проекти

Каталог

Преди време близък роднина имаше големи затруднения, изпълнявайки ролята на дистрибутор, тъй като хартиеният каталог създават затруднения. Най-голямото затруднение е когато клиент „Х“ иска да запита за продукт за определено заболяване. Търсенето на продукт за определено заболяване страница по страница може да отнеме няколко часа! След кратък разговор, стигнахме до решение, което на мен лично ми хареса въпреки, че дизайна не е много добър. Какво направих за да реша проблема? След като установихме проблема, взех решение да направя уеб сайт, който ще може да се използва както на компютър, така и на мобилно устройство. Понеже сайта няма да е голям,…

Hardware, Уроци

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

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