Подробности
PHP извоюва своето място като един от основните скриптови езици за уеб и се използва за почти всичко – от малки помощни скриптове до големи обектно ориентирани приложения. В тази книга са покрити всички аспекти, в нея се съдържат хакове за всичко - от HTML и Ajax до генериране на код и създаване на опашка от съобщения в база данни.
В PHP Хакове авторът Джак Д. Херингтън, опирайки се на своя 20 годишен опит в генерирането на код, ви представя създаването на полезни инструменти за уеб страници - от основите на PHP и готовите класове на PEAR до трикове за напреднали като мултимедия и оптимизиране на бази данни.
От гледна точка на практиката, PHP Хакове ще ви помогне да изграждате по-стабилни PHP приложения, като ви покаже как да подобрите структурата на своята база данни, да автоматизирате тестването на приложението и използвате шаблонни класове във вашите PHP скриптове и класове. В категорията „страхотно" Херингтън обяснява как да подобрите уеб интерфейса, използвайки таб контроли, бележки, pop-ups и календари. Той дори разглежда как с помощта на PHP да манипулирате карти и графики. Също така ще откриете изобилие от хакове за картинки и приложения, включително такива, които ще ви покажат как да:
• интегрирате уеб сайтове с картите на Google и сателитни снимки
• показвате динамично съдържанието на iPhoto онлайн
• добавяте IRC, SMS и други програми за изпращане на съобщения към вашето уеб приложение
• прехвърляте последната версия на речника на Wikipedia на вашето Sony PSP
• изграждате графики и потребителски интерфейси, използвайки SVG, DHTML и Ajax
Кредит
Предговор
Глава 1. Инсталиране и основи
1. Инсталиране на PHP
2. Инсталиране на PEAR модули
Глава 2. Уеб дизайн
3. Създаване на променящи вида си интерфейси
4. Създаване на списък от посетени страници
5. Създаване на HTML кутийки
6. Добавяне на етикети на страници във вашия уеб интерфейс
7. Дайте на вашите клиенти възможност да променят
форматирането чрез XSL
8. Създаване на „олекотени” HTML графики
9. Задаване на правилни атрибути за размери на HTML тага за картинки
10. Изпращане на HTML страници с електронни писма (e-mail)
Глава 3. DHTML
11. Интерактивна електронна таблица за вашата страница
12. Създаване на pop-up (изскачащи) пояснения
13. Създаване на drag-and-drop списъци
14. Създаване на динамични HTML графики
15. Сегментиране на вашето съдържание с разделители
16. Създаване на падащи пояснителни бележки
17. Създаване на динамични навигационни менюта
18. Динамично шифроване на JavaScript
19. Създаване на DHTML часовник, който отброява времето
в двоичен код
20. Обработен Ajax с JSON
21. Създаване на DHTML слайдшоу
22. Добавяне на векторни графики с PHP
23. Създаване на цветови селектор
24. Създаване на линкови етикети
25. Създаване на интерактивен календар
26. Създаване на превъртащ ефект на Google картите
Глава 4. Графики
27. Създаване на миниатюрни изображения
28. Създаване на красиви графики със SVG
29. Опростяване на графиките с помощта на обекти
30. Разделяне на едно изображение на множество от изображения
31. Създаване на диаграми с PHP
32. Създаване на напластени изображения
33. Осигурете достъп до вашите iPhoto картинки чрез PHP
Глава 5. Бази данни и XML
34. Проектиране на оптимизирани SQL структури
35. Създаване на непробиваем достъп до база данни
36. Създаване на динамични обекти за достъп до бази данни
37. Генериране на код за създаване, четене, редактиране и изтриване на
записи в база данни
38. Четене на XML с регулярни изрази
39. Записване на структурата на база данни като XML файл
40. Създаване на XML помощен инструмент за достъп до база данни
41. Генериране на SQL
42. Генериране на код за използване на база данни
43. Преобразуване на CSV данни в PHP масиви
44. Извличане на информация директно от уеб страници
45. Изтегляне на данни от електронна таблица, качена на вашия сървър
46. Зареждане на данни от електронна таблица в база данни
47. Търсене в Microsoft Word документи
48. Динамично създаване на RTF документи
49. Динамично създаване на Excel документи
50. Създаване на опашка от съобщения
Глава 6. Дизайн на приложения
51. Създаване на променящи се интерфейси
52. Поддържане на Уики текст
53. Превръщане на произволен обект в масив
54. Правилно създаване на XML
55. Решаване на проблема с двойното предаване
56. Създаване на отчети с възможност за настройка от потребителя
57. Създаване на система за влизане в приложението
58. Прилагане на защита по приоритети
59. Преминаване на MD5 защитени пароли
60. Направа на URL използваеми с mod_rewrite
61. Създаване на инструмент за пренасочване към ad
62. Добавяне на бутон „Купи сега”
63. Разберете откъде ви посещават анонимните ви потребители
64. Внасяне на информация от vCard
65. Създаване на vCard файлове с данни от вашето уеб приложение
66. Създаване на количка за пазаруване
Глава 7. Шаблони
67. Наблюдение на вашите обекти
68. Създаване на обекти с шаблона Factory
69. Гъвкаво създаване на обекти с шаблона Factory Method
70. Отделен конструктивен код с помощта на шаблона Builder
71. Разделете „какво” от „как” с помощта на шаблона Strategy
72. Свързване на два модула с един шаблон от тип Адаптер
73. Писане на преносим код с помощта на шаблона Bridge
74. Разширяване на изпълняваните процеси с помощта шаблона Chain
75. Разбиване на големи класове с помощта на шаблона Composite
76. Опростяване на API с помощта на шаблона Facade
77. Създаване на константни обекти с помощта на шаблона Singleton
78. Облекчаване на манипулирането на структури от данни с помощта
на шаблона Visitor
Глава 8. Тестване
79. Тестване на код чрез програми за тестване на части от приложението
80. Генериране на код за тестване по части
81. Проверяване на вашата уеб страница за неработещи линкове
82. Тествайте вашето приложение със симулирана
потребителска активност
83. Тестване на вашето приложение с търсещи алгоритми
84. Пускане на „паяк” през вашата страница
85. Автоматично генериране на документация на скриптове
Глава 9. Алтернативни потребителски интерфейси
86. Създаване на различни карти с MapServer
87. Създаване на графичен потребителски интерфейс с помощта на GTk
88. Изпращане на ресурси RSS на вашето IM приложение,
използвайки Jabber
89. Направете вашето уеб приложение в стил IRC
90. Четене на ресурси RSS на вашия PSP
91. Търсене в Google чрез линкови етикети
92. Създаване на нов интерфейс за Amazon.com
93. Изпращане на SMS съобщения от вашата IM програма
94. Генериране на Flash филми в движение
Глава 10. Забавни неща
95. Създаване на ваши собствени Google Maps
96. Създаване на динамични плейлисти
97. Създаване на център за качване/сваляне на медийни продукти
98. Проверка на вашата мрежова игра с PHP
99. Поставяне на Wikipedia на вашия PSP
100. Създаване на метеорологичен банер
Индекс
Предговор
Глава 1. Инсталиране и основи
1. Инсталиране на PHP
2. Инсталиране на PEAR модули
Глава 2. Уеб дизайн
3. Създаване на променящи вида си интерфейси
4. Създаване на списък от посетени страници
5. Създаване на HTML кутийки
6. Добавяне на етикети на страници във вашия уеб интерфейс
7. Дайте на вашите клиенти възможност да променят
форматирането чрез XSL
8. Създаване на „олекотени” HTML графики
9. Задаване на правилни атрибути за размери на HTML тага за картинки
10. Изпращане на HTML страници с електронни писма (e-mail)
Глава 3. DHTML
11. Интерактивна електронна таблица за вашата страница
12. Създаване на pop-up (изскачащи) пояснения
13. Създаване на drag-and-drop списъци
14. Създаване на динамични HTML графики
15. Сегментиране на вашето съдържание с разделители
16. Създаване на падащи пояснителни бележки
17. Създаване на динамични навигационни менюта
18. Динамично шифроване на JavaScript
19. Създаване на DHTML часовник, който отброява времето
в двоичен код
20. Обработен Ajax с JSON
21. Създаване на DHTML слайдшоу
22. Добавяне на векторни графики с PHP
23. Създаване на цветови селектор
24. Създаване на линкови етикети
25. Създаване на интерактивен календар
26. Създаване на превъртащ ефект на Google картите
Глава 4. Графики
27. Създаване на миниатюрни изображения
28. Създаване на красиви графики със SVG
29. Опростяване на графиките с помощта на обекти
30. Разделяне на едно изображение на множество от изображения
31. Създаване на диаграми с PHP
32. Създаване на напластени изображения
33. Осигурете достъп до вашите iPhoto картинки чрез PHP
Глава 5. Бази данни и XML
34. Проектиране на оптимизирани SQL структури
35. Създаване на непробиваем достъп до база данни
36. Създаване на динамични обекти за достъп до бази данни
37. Генериране на код за създаване, четене, редактиране и изтриване на
записи в база данни
38. Четене на XML с регулярни изрази
39. Записване на структурата на база данни като XML файл
40. Създаване на XML помощен инструмент за достъп до база данни
41. Генериране на SQL
42. Генериране на код за използване на база данни
43. Преобразуване на CSV данни в PHP масиви
44. Извличане на информация директно от уеб страници
45. Изтегляне на данни от електронна таблица, качена на вашия сървър
46. Зареждане на данни от електронна таблица в база данни
47. Търсене в Microsoft Word документи
48. Динамично създаване на RTF документи
49. Динамично създаване на Excel документи
50. Създаване на опашка от съобщения
Глава 6. Дизайн на приложения
51. Създаване на променящи се интерфейси
52. Поддържане на Уики текст
53. Превръщане на произволен обект в масив
54. Правилно създаване на XML
55. Решаване на проблема с двойното предаване
56. Създаване на отчети с възможност за настройка от потребителя
57. Създаване на система за влизане в приложението
58. Прилагане на защита по приоритети
59. Преминаване на MD5 защитени пароли
60. Направа на URL използваеми с mod_rewrite
61. Създаване на инструмент за пренасочване към ad
62. Добавяне на бутон „Купи сега”
63. Разберете откъде ви посещават анонимните ви потребители
64. Внасяне на информация от vCard
65. Създаване на vCard файлове с данни от вашето уеб приложение
66. Създаване на количка за пазаруване
Глава 7. Шаблони
67. Наблюдение на вашите обекти
68. Създаване на обекти с шаблона Factory
69. Гъвкаво създаване на обекти с шаблона Factory Method
70. Отделен конструктивен код с помощта на шаблона Builder
71. Разделете „какво” от „как” с помощта на шаблона Strategy
72. Свързване на два модула с един шаблон от тип Адаптер
73. Писане на преносим код с помощта на шаблона Bridge
74. Разширяване на изпълняваните процеси с помощта шаблона Chain
75. Разбиване на големи класове с помощта на шаблона Composite
76. Опростяване на API с помощта на шаблона Facade
77. Създаване на константни обекти с помощта на шаблона Singleton
78. Облекчаване на манипулирането на структури от данни с помощта
на шаблона Visitor
Глава 8. Тестване
79. Тестване на код чрез програми за тестване на части от приложението
80. Генериране на код за тестване по части
81. Проверяване на вашата уеб страница за неработещи линкове
82. Тествайте вашето приложение със симулирана
потребителска активност
83. Тестване на вашето приложение с търсещи алгоритми
84. Пускане на „паяк” през вашата страница
85. Автоматично генериране на документация на скриптове
Глава 9. Алтернативни потребителски интерфейси
86. Създаване на различни карти с MapServer
87. Създаване на графичен потребителски интерфейс с помощта на GTk
88. Изпращане на ресурси RSS на вашето IM приложение,
използвайки Jabber
89. Направете вашето уеб приложение в стил IRC
90. Четене на ресурси RSS на вашия PSP
91. Търсене в Google чрез линкови етикети
92. Създаване на нов интерфейс за Amazon.com
93. Изпращане на SMS съобщения от вашата IM програма
94. Генериране на Flash филми в движение
Глава 10. Забавни неща
95. Създаване на ваши собствени Google Maps
96. Създаване на динамични плейлисти
97. Създаване на център за качване/сваляне на медийни продукти
98. Проверка на вашата мрежова игра с PHP
99. Поставяне на Wikipedia на вашия PSP
100. Създаване на метеорологичен банер
Индекс
Джак Д. Херингтън е програмист, който започва да се занимава с разработване на приложения на тринадесет години, преди около четвърт век. През годините той е писал на почти всеки важен програмен език, в почти всякакви условия.
Той е автор на три книги. „Code Generation in Action" (Manning, 2002) покрива използването на кода за автоматичното генериране на код. Много от подходите, показани в предишната книга, са използвани в главата, отнасяща се за бази данни в тази книга. В „Podcasting Hacks" (O’Reilly 2005) той поощрява своите читатели да разпространяват медийни файлове, използвайки подкастинг. Неговата трета книга PHP Хакове е това, което държите в ръцете си.
Той е автор на повече от 30 статии, обхващащи тематика от PHP и генериране на код до подкастинг, дигитална фотография и други. В една статия за O’Reilly Network Джак имаше смелостта да предложи PHP като заместител на Java или .NET, за разработване на големи приложения. Последвалата словесна битка продължи на страниците на Slashdot и, макар затихнала, продължава до момента.
Джак живее със съпругата си Лори и дъщеря си Мега в областта на залива на Сан Франциско. Той работи за новооткрита компания, наречена Leverage Software, занимаваща се със проекти по разработването на социални мрежи. Преди това беше с Macromedia. Той е запален пешеходец, играч на голф, готвач, дървар, който създава оригами, понякога - когато не се занимава с хакването на PHP.
Той е автор на три книги. „Code Generation in Action" (Manning, 2002) покрива използването на кода за автоматичното генериране на код. Много от подходите, показани в предишната книга, са използвани в главата, отнасяща се за бази данни в тази книга. В „Podcasting Hacks" (O’Reilly 2005) той поощрява своите читатели да разпространяват медийни файлове, използвайки подкастинг. Неговата трета книга PHP Хакове е това, което държите в ръцете си.
Той е автор на повече от 30 статии, обхващащи тематика от PHP и генериране на код до подкастинг, дигитална фотография и други. В една статия за O’Reilly Network Джак имаше смелостта да предложи PHP като заместител на Java или .NET, за разработване на големи приложения. Последвалата словесна битка продължи на страниците на Slashdot и, макар затихнала, продължава до момента.
Джак живее със съпругата си Лори и дъщеря си Мега в областта на залива на Сан Франциско. Той работи за новооткрита компания, наречена Leverage Software, занимаваща се със проекти по разработването на социални мрежи. Преди това беше с Macromedia. Той е запален пешеходец, играч на голф, готвач, дървар, който създава оригами, понякога - когато не се занимава с хакването на PHP.