[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: в чем отличие библиотеки и класса
NewPhpProg
По сути вопрос уже задал, пожалуй уточню.

1) В чем их отличие (принципиально)
2) Приведите пример где использовать библиотеку выгодней, чем классы.
3) Пользуються ли програмисты библиотеками

Дополнительный вопрос вопрос.
как новечку хотелось бы узнать чем НЕ пользуються (сумашедших не в счет) програмисты PHP. (интерессно как работают другие програмисты и общество програмистов в целом, у меня нет возможности объщаться и хоть глазком взглянуть как работают профессионалы, попросту не с кем, отсюда и вопрос)
neadekvat
Класс -- это класс. Некая единица в контексте ООП. А вот что ты понимаешь под библиотекой?
Arh
По идеи в библиотеке может быть несколько классов и по мимо классов там могут быть другие файлы, картинки и html например.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
NewPhpProg
php5 в подленнике 2е издание под редакцией котарев,костарев. в разделе ооп они пишут главу "организация библиотек". вот отсюда и вопрос smile.gif
Arh
Цитата (NewPhpProg @ 15.05.2014 - 21:41)
php5 в подленнике 2е издание под редакцией котарев,костарев. в разделе ооп они пишут главу "организация библиотек". вот отсюда и вопрос smile.gif

Ну может в главе расписано про создания нескольких классов для решения какой то задачи или задач.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
NewPhpProg
вопрос пока открыт, мне так и не дали четкого ответа. одни догадки. прошу не сбивать меня своими догадками, а ответить на вопрос если вы действительно знаете ответ.
T1grOK
Уже дали ответ
Цитата (Arh @ 15.05.2014 - 17:40)
По идеи в библиотеке может быть несколько классов и по мимо классов там могут быть другие файлы, картинки и html например.

Библиотека - это коллекция, классов, функций и т.д.
На деле, во многих источниках класс и библиотека тождественны.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
sergeiss
Я тебе так отвечу... Библиотека и класс - это совершенно разные вещи, которые я не знаю, кто может приравнивать.

Итак, библиотека. Это набор функций, чаще всего скомпилированных в файл формата DLL (Dinamyc Link Library - "Динамическая Библиотека"). В ПХП они тоже есть и активно используются. Если посмотреть в каталог, где установлен ПХП, то в папке EXT увидим много файлов с расширением DLL - это и есть библиотеки. Как видно из названий, они отвечают за что-то свое: MySQL, PostgreSQL, графику GD2 и многое другое. Библиотеки подключаются по мере необходимости, из них берутся нужные функции.
Впрочем, можно сделать и на ПХП библиотеку своих функций, не компилируя её никуда, оставив в текстовом (ПХП формате).
В библиотеку всегда можно добавить новые функции, хоть библиотеку ПХП, хоть в DLL.


Класс - это объект, который содержит и свойства (личные переменные), и методы (личные функции), находящиеся внутри своего пространства. В класс (если по уму smile.gif) просто так не добавишь методы и переменные, только создав новый класс на основе существующего.

Библиотеки DLL, используемые в ПХП, могут быть написаны на любом языке, например, на Си++. А класс для ПХП только на ПХП и можно написать.

Вот где-то так, наверное.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Arh
Цитата (NewPhpProg @ 15.05.2014 - 22:05)
одни догадки.

Дело в том что библиотеки это понятие растяжимое =)
Есть библиотека с книгами, книги собранные в одном месте.

Есть библиотеки для PHP, о который писал sergeiss, там собраны функции.
а есть библиотеки проекта допустим.

Библиотека это вообще хранилище.
Класс в себе может хранить различные методы, например есть файл text.class.php, в нем куча методов для преобразования текста, например $text->translate(); делает транслит текста или $text->clear(); что то удаляет из текста (допустим html комментарии)
Вот такой класс могут назвать как библиотекой работы с текстом, так и классом для работы с текстом (хотя второй вариант более правильный в каком то смысле).

По идее в проектах, библиотекой более верно называть набор файлов, это может быть файл с классами или функциями, который использует другие файлы, входящие в состав библиотеки, например CSS стили и картинки (та же jQuery).

Иногда это могут назвать модулем или расширением.
Хотя модуль (или плагин) это самостоятельный скрипт, который запускается в системе, а вот библиотека это вспомогательный набор скриптов, который подключается при необходимости.

В общем трактовать могут действительно по разному и всё чаще разница между библиотекой и классом заключается в том, в каком контексте будет упомянута
"Вот код моего класса, который делает то то" (показал код)
или
"Вот вам библиотека, делающая то то, скачивайте" (дал ссылку)

Например у меня в проекте есть папка libs (библиотеки), в ней папка js и php,
в js лежат jQuery,tinymce и всё такое.
в php лежат классы tpl.php, db.php и т.д.
Так вот папка php по сути библиотека классов, которую можно расширять, добавляя туда новые классы.
Хотя если кто то скажет что в папке php не хватает библиотеки tpl.php (не хватает класса), я не посчитаю это ошибкой, так как tpl.php это хранилище методов для работы с шаблонами.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
sergeiss
Вот такая ассоциация еще на тему, "что такое библиотека" smile.gif Это нечто многогранное, как город "Жангле-многоточие"...
Кто не понял, читать тут: http://www.e-reading.ws/chapter.php/9171/1...lyucheniii.html (Кир Булычев, из космических приключений Алисы).
А кто понял, тот пусть сам возьмет конфетку с полки и съест её сам же wink.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
NewPhpProg
повторюсь сравнивают классы и библиотеке в книги php5 в подленнике 2е издание под редакцией котарев,костарев. причем люди поумнее нас (извините если кого то обидел, мы не знакомы, мое выроженее более вероятно) но там вилами по воде, буквально пару строк, по сути библиотеки представлены как статические классы и подключаються просто через include или реквайр, вот взглядом новечка по сути они ничем не отличаються, тот же синтаксис. вот отсюда и такие вопросы.

Цитата
вопрос пока открыт, мне так и не дали четкого ответа. одни догадки.


извините если кого обидел, просто у меня тоже много догадок и посторонние слова "типа" "вроде" "по идее" не внушают доверия )
NewPhpProg
не плохо бы было еще получить ответы на мои оставшиеся вопросы.
bestxp
А тебе всё объяснили

Классы входят в библиотеки, класс может быть библиотекой,
А библиотека может быть большой и малой, фреймворк по сути та же библиотека только со своими правилами wink.gif
neadekvat
Цитата (bestxp @ 16.05.2014 - 21:59)
фреймворк по сути та же библиотека только со своими правилами

Ну вот еще. Фреймворк -- это каркас приложения, обычно с ним поставляется и встроенный набор библиотек/плагинов для удобства работы.
К примеру, jQuery -- это библиотека. А AngularJS -- это фреймворк.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.