вторник, 25 июня 2013 г.

Заголовок сайта в Jooml-e

Если у вас в Joomla в title - заголовке сайта в браузере на всех страницах выводится только заголовок страницы, без названия сайта, то открываем файл index.php шаблона (напр. /templates/mytemplate/index.php/), и вставляем в самом начале после тега <?php следующий код: 

$document = & JFactory::getDocument();
$config = & JFactory::getConfig();
$fulltitle = $document->title.' - '.$config->getValue('sitename');
$document->setTitle( $fulltitle );
После этой операции на всех страницах, кроме главной, заголовок будет иметь вид "Заголовок статьи - Заголовок сайта".

четверг, 18 апреля 2013 г.

Планы на завтра

class Завтра {
   function бухать(){
        $time=20:30;
        $place="СК Надежда";
        $pub="Хмельной Патрик";
        echo "В $time Возле $place, потом идем $pub";
        echo "если этого мало,делаем алкотреш";
   }
   function нормальноПогулять(){
        $time=20:30;
        $place="СК Надежда";
        $pub="Хмельной Патрик";
        echo "В $time Возле $place, потом идем $pub";
        echo "если этого хватит, идем по домам";
   }
}

class Index{
     public function __construct(){
       Завтра::нормальноПогулять(); //мой выбор...
     }
}

четверг, 3 января 2013 г.

Создание панели для виджетов в вордпрессе



Пример создания топбара...
Напишите следующее в файл functions.php, он находиться в папке вашей темы :
register_sidebar(array( 'name' => 'topbar',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="widgettitle">',
        'after_title' => '</h2>',
    ));
}
В файле header.php или в любом другом где вы хотите добавить новую панель запишите следующее:
<?php if ( !function_exists('dynamic_sidebar') ||
           !dynamic_sidebar('topbar') ) { ?>
     <p>На данный момент виджетов нет </p>
<?php } ?>

вторник, 4 декабря 2012 г.

Поиск в строке

Для поиска подстроки в строке существует функция strpos:
  strpos(string, searchstring, [starting position]);
  string - строка в которой производится поиск;
  searchstring - подстрока которую ищем; 

Если начальная позиция (starting position) не указана, то 
поиск будет производиться с начала строки.
Функция strpos возвращает номер позиции с которой начинается 
подстрока. Если подстрока не найдена, то то функция возвратит false.
Пример:
 <?php
  if (strpos("поиск подстроки", "под") !== false) echo"Найдено";

понедельник, 3 декабря 2012 г.

Функция удаление файла

Для удаления файла можно использовать функцию unlink:
unlink(name);
Пример 1:
 <?php
  if(unlink('File.txt'))
  { echo "unlink is successful";}
  else 
  { echo "Error unlink";}
 ?>

Функция переименование файла

Для того что бы переименовать имя файла существует 
функция rename:
rename(oldName, newName); 
Функция rename, переименует файл с именем oldName 
на имя newName, если это имя расположено в той же 
файловой системе.


Пример 1:

Функция копирование файлов


Для копирования файлов используется функция copy:
copy(oldFile, newFile);
Функция копирует файл с названием oldFile в файл с 
названием newFile. Если файл с таким именем уже 
существует, то он перезаписывается.


Пример 1:

пятница, 30 ноября 2012 г.

Чтения из файла

Для чтения строки из файла используется функция
fread:
fread(namefile, lenght)

В параметре lenght указывается длина 
выводимой строки, namefile - дескриптор файла.
Пример:

четверг, 29 ноября 2012 г.

Закрытие файла


После того как робота с файлом будет завершена его нужно 
закрыть. Для этого существует функция fclose:

fclose(file)


Отображения файла


Для отображения содержимого текстового файла в браузере 
существует функция readfile(<namefile>):
 Пример: 
  <?php  
  readfile("newfile.txt")'
  ?>

среда, 28 ноября 2012 г.

Основные функции для работы со строками:


Основные функции для работы со строками:

  echo - выводит строку;
  $str = "новая строка";
  echo $str;
  //Выведет: новая строка

вторник, 27 ноября 2012 г.

Преобразование массива в переменные

Для преобразование массива в переменные используется
функция extract() - это функция которая создает переменные
с именами которые соответствуют именам ключей массива и
их значениями.  
extract(<массив>, <способ>, <префикс>);
массив - исходный массив;
способ - обработка конфликтных ситуаций, имеет 
несколько решений:

понедельник, 26 ноября 2012 г.

Работа с файлами


Файл это последовательный набор байтов, которые хранятся
наразличных носителях информации. Файл имеет путь по
которому к нему обращаются(место расположения файла).
Открытие файла производится с помощью функции fopen:
fopen(namemode)

четверг, 22 ноября 2012 г.

Получение части массива




Для получения части массива используется функция
array_slice(). Вызов функции имеет следующий формат:
array_slice(<Массив>, <Начальная позиция>[, <Количество элементов>]);




Заполнение массива числами


Создать массив, содержащий диапазон чисел, можно
либо с помощью цикла, либо с помощью функции range().
Функция имеет следующий формат:
range(<Начало диапазона>, <Конец диапазона>);
Предположим, необходимо создать массив, состоящий из 
диапазона чисел от 1 до 100:


  $Mass = range(1, 100);
  foreach ($Mass as $key) {
  echo $key . '<br>';
  }

Преобразование переменных в массив




Функция compact() позволяет преобразовать переменные
в ассоциативный массив. Ключами становятся имена
переменных, а значениями — значения переменных:



  $var1 = 1;
  $var2 = 2;
  $var3 = 3;
  $Mass = compact('var1', 'var2', 'var3');
  print_r($Mass);

среда, 21 ноября 2012 г.

Сортировка массива


Функция sort() позволяет отсортировать список в
алфавитном порядке, а функция rsort() — в обратном
порядке:
  $Mass = array('Один', 'Два', 'Три', 'Четыре');
  sort($Mass);
  print_r($Mass);
  // Array ( [0] => Два [1] => Один [2] => Три [3] => Четыре )
                  rsort($Mass);
                  print_r($Mass);
// Array ( [0] => Четыре [1] => Три [2] => Один [3] => Два )

вторник, 20 ноября 2012 г.

Переворачивание и перемешивание массива


Функция array_reverse() возвращает массив, элементы
которого следуют в обратном порядке относительно
исходного массива:
  $Mass = array('Один', 'Два', 'Три', 'Четыре');
  $Mass = array_reverse($Mass);
  print_r($Mass);
  // Array ( [0] => Четыре [1] => Три [2] => Два [3] => Один )

Добавление и удаление элементов массива


Для добавления и удаления элементов массива используются
следующие функции:
array_unshift(<Массив>, <Элемент>) добавляет элементы в 
начало массива:
$Mass[0] = 'Три';
$Mass[1] = 'Четыре';
array_unshift($Mass, 'Один', 'Два');
print_r($Mass);
                // Array ( [0] => Один [1] => Два [2] => Три [3] => Четыре )

понедельник, 19 ноября 2012 г.

Перебор элементов массива без использования циклов


До сих пор мы выводили содержимое массивов с помощью
циклов. Того же эффекта можно достичь при использовании
функции array_walk(). Она позволяет последовательно
применять самостоятельно созданную функцию ко всем
элементам массива. Например, вывод всех элементов
массива будет выглядеть так:


  function f_print($value, $key) {
     echo $key . ' =&gt; ' . $value . '<br>';
  }
  $Mass['Один'] = 1;
  $Mass['Два'] = 2;
  $Mass['Три'] = 3;
  $Mass['Четыре'] = 4;
  array_walk($Mass, "f_print");
  // Выведет: Один => 1<br>Два => 2<br>Три => 3<br>Четыре => 4<br>

Перебор элементов массива (часть 2)




В предыдущем занятие мы рассматривали цикл  for 
который можно употреблять не только для работы с
массивами, но и для других целей. А вот цикл foreach
предназначен исключительно для работы с массивами.

Цикл foreach позволяет работать как с обычными массивами, на пример:
  $Mass[] = 'Один';
  $Mass[] = 'Два';
  $Mass[] = 'Три';
  $Mass[] = 'Четыре';
    foreach ($Mass as $key) {
    echo $key . '<br>';
  }

пятница, 16 ноября 2012 г.

Преимущества PHP


   РНР быстрее, лучше и проще, чем другие языки.
При разработке Web-сайтов основными альтернативами
РНР являются: базовый HTML,CGI-сценарии (Common
Gateway Interface, обычно написанные на языке Perl),
ASP (Active Server Pages) и JSP (Java Server Pages).
Язык JavaScript не является альтернативой РНР ,
поскольку это клиентская технология, которая не может
быть использована для создания HTML-страниц таким
 же образом, как собственно РНР или CGI.

Что такое РНР?




   Изначально аббревиатура РНР расшифровывалась как
Personal Homft Page. Этот язык был создан в 1994 году
Расмусом Лердорфом , чтобы отслеживать пользователей, просматривавших его домашнюю страничку с резюме.
Позже, когда функциональность  РНР значительно
расширилась и профессионалы начали использовать этот
язык для создания сложных сайтов, сокращение стали
расшифровывать как «гипертекстовый препроцессор»
 (РНР : Hypertext Preprocessor), Определение означает, что данные
 в этом языке обрабатываются до того, как становятся HTML-страницей
 (HTML - язык гипертекстовой разметки).

Перебор элементов массива (часть 1)



Для перебора массивов применяются три вида циклов:
for, foreach и while.


Цикл for используется, так:


  $Mass[] = 'Один';
  $Mass[] = 'Два';
  $Mass[] = 'Три';
  $Mass[] = 'Четыре';
  $count = count($Mass);
  for ($i=0; $i<$count; $i++) {
  echo $Mass[$i] . '<br>';
  }

четверг, 15 ноября 2012 г.

Слияние массивов


Для слияния двух ассоциативных массивов используется
оператор +:
$Mass1['Один'] = 1;
$Mass1['Два'] = 2;
$Mass2['Три'] = 3;
$Mass2['Четыре'] = 4;
$Mass3 = $Mass1 + $Mass2;
print_r($Mass3); // Выводим массив

среда, 14 ноября 2012 г.

Ассоциативные массивы


Основным отличием ассоциативных массивов от списков
является возможность обращения к элементу массива не
по числовому индексу, а по индексу,состоящему из строки.
Индексы ассоциативного массива называются ключами.




$Mass['Один'] = 1;
$Mass['Два'] = 2;
$Mass['Три'] = 3;
echo $Mass['Один']; // Выведет: 1

вторник, 13 ноября 2012 г.

Многомерные массивы


Любому элементу массива можно присвоить другой массив:

$Mass = array();
$Mass[0] = array(1, 2, 3, 4);

В этом случае получить значение массива можно, указав два индекса:


$var = $Mass[0][2]; // Переменной $var будет присвоено значение 3

Получение и изменение элемента массива . Определение количества элементов массива


Обращение к элементам массива осуществляется с помощью
квадратных скобок, в которых указывается индекс элемента.




   
     $Mass = array('Ноль', 'Один', 'Два', 'Три');
  $var = $Mass[1]; // Переменной $var будет присвоено значение "Один"

понедельник, 12 ноября 2012 г.

Массивы


Массив — это нумерованный набор переменных. Переменная
в массиве называется элементом массива, а ее позиция в
массиве задается индексом. Нумерация элементов массива
начинается с 0, а не с 1. Общее количество элементов в
массиве называется размером массива.

Инициализация массива
Инициализация массива осуществляется двумя способами:
  поэлементно:
 $Mass[0] = 'Ноль';
 $Mass[1] = 'Один';
 $Mass[2] = 'Два';
 $Mass[3] = 'Три';

четверг, 8 ноября 2012 г.

Специальные символы




Специальные символы — это комбинации знаков,
обозначающих служебные или непечатаемые
символы, которые невозможновставить обычным
способом.

Перечислим специальные символы, доступные в
PHP в строках, ограниченных двойными кавычками:


   \n — перевод строки;
   \r — возврат каретки;
   \t — знак табуляции;
   \" — кавычка;
   \$ — знак доллара;
   \\ — обратная косая черта.

среда, 7 ноября 2012 г.

Константы. Создание и использование констант





Константы используются для хранения значений, которые не
должныизменяться во время работы программы. Создать 
константу можно с помощью функции define():
define(<Имя константы>, <Значение константы>[, <Регистр>]);


Необязательный параметр <Регистр> может содержатьзначения true или
false. Если указано true, то интерпретатор не будет учитывать регистр сим
волов при работе с именем константы, если же задано false или параметр 
не указан, регистр символов существенен:

  <?php
    error_reporting(E_ALL);
    define("author1", "Николай");
    echo author1, '<br>'; // "Николай"
    echo AUTHOR1, '<br><br>';
   // Предупреждение о неопределенной константе AUTHOR1
    define("author2", "Сергей", true);
    echo author2, '<br>'; // "Сергей"
    echo AUTHOR2, '<br><br>'; // "Сергей"
    define("author3", "Иван", false);
    echo author3, '<br>'; // "Иван"
    echo AUTHOR3;
   // Предупреждение о неопределенной константе AUTHOR3
  ?>

вторник, 6 ноября 2012 г.

Удаление переменной


Удалить переменную можно с помощью функции
unset(<Переменная>):
Эта функция необходима, если переменная использовалась 
при обработке данных большого объема и теперь не нужна.
Удаление переменной позволит освободить память компьютера.



  <?php
    $Str = "Строка";
    if (isset($Str)) echo "Существует";
    else echo "Нет";
    unset($Str);
    echo "<br>";
    if (isset($Str)) echo "Существует";
    else echo "Нет";
  ?>

Вывод программы:
Существует
Нет

Проверка существования переменной


С помощью функции isset(<Переменная>) можно проверить существование переменной. Если переменная определена,
то возвращается true. Для примерапеределаем нашу первую
 программу так, чтобы программа здоровалась не со всем
 миром, а только с нами



  <?php
    if (isset($_GET['name'])) {
      echo 'Hello, ' . $_GET['name'];
    }
    else {
      echo 'Введите ваше имя<br>';
      echo '<form action="' . $_SERVER['SCRIPT_NAME'].'">';
      echo '<input type="text" name="name">';
      echo '<input type="submit" value="OK">';
      echo '</form>';
   }
 ?>

Инициализация переменных


При инициализации переменной интерпретатор автоматически
 относит переменную к одному из типов данных. Значение
переменной присваивается с помощью оператора = таким
образом:
  $number = 7; // integer
  $number2 = 7.8; // double
  $string = "Строка"; // Переменной $string присвоено значение Строка

Функция gettype(<Имя_переменной>) возвращает тип данных переменной
  <?php
    $var = 7;
    echo gettype($var); // Выведет: integer
    $str = 'Строка';
    echo gettype($str); // Выведет: string
    $bool = true;
    echo gettype($bool); // Выведет: boolean
  ?>

пятница, 12 октября 2012 г.

Операторы в PHP (часть 2)

Оператор - это описание некоторого действия, которое интерпретатор 
должен сделать с указанными переменными. Операторы входят
в большинство выражений и позволяют изменять или сравнивать
значения переменных. Переменные, с которыми связан оператор, называются операндами. 

Не надо путать выражения и операторы. Оператор лишь определяет необходимое действие, а выражение - это законченный маленький фрагмент программы, в который могут входить операторы, переменные, константы и т.п.


Типы операторов

  • Арифметические
  • Присвоения
  • Битовые
  • Сравнения
  • Контроля ошибок
  • Выполнения
  • Инкремента/декремента
  • Логические
  • Строковые
  • Операторы массивов
  • Операторы типов

четверг, 11 октября 2012 г.

Простейшие арифметические операции в PHP (часть 1)

   Как и в других языках программирования, над переменными можно совершать любые арифметические действия в соответствии с обычной логикой. Достаточно указать переменную для результата, знак равенства и перечислить в порядке выполнения действий переменные или значения с необходимыми арифметическими знаками.



ПримерНазваниеРезультат
-$aОтрицаниеСмена знака $a.
$a + $bСложениеСумма $a и $b.
$a - $bВычитаниеРазность $a и $b.
$a * $bУмножениеПроизведение $a и $b.
$a / $bДелениеЧастное от деления $a на $b.
$a % $bДеление по модулюЦелочисленный остаток от деления $a на $b


 Пример:

<?php

  $a = 5;
  $b = 3;
  $c = 4;
  $d = $a + $b - $c;
  echo $d;
  
?> 
    Результат роботы скрипта - вывод на экран цифры 4, PHP  поддерживает
все математические функции, многоуровневые скобки, логические операции
увеличения или уменьшения на единицу и многое другое.

вторник, 9 октября 2012 г.

Обращение к переменным и функциям в PHP




Обращение к переменным в PHP осуществляется с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для создания динамических переменных и функций.



$a = 'I am a'; // Запись значения в переменную $a
echo $a; // Вывод переменной $а

 
$b = 'a';
echo $$b;     // Вывод переменной $а (дополнительный $ перед переменной $b)
 
echo ${'a'};      // Вывод переменной $a

понедельник, 8 октября 2012 г.

Книги по PHP

Ваш первый сайт с использованием PHP-скриптов

Вы решили создать свой сайт, но не знаете с чего начать? Сделать это поможет данная книга. Вы познакомитесь с PHP-программированием, научитесь легко и быстро наполнить свой сайт тысячами страниц, создав при этом вручную всего одну.
Книга написана простым и понятным языком, который доступен даже новичку, никогда не слышавшему о РНР. Освоив материал данной книги, вы сможете создавать сайты любой сложности, писать любые PHP-скрипты для любых целей, используя всю вашу фантазию.





Название: Ваш первый сайт с использованием PHP-скриптов
Автор: А. С. Строганов
Год: 2008
Форматы: Djvu
Страниц: 288
Размер: 8 MB
Качество: хорошее
Из-во: Диалог-МИФИ

пятница, 5 октября 2012 г.

Основы PHP

 В PHP переменные выполняют роботу хранения данных в оперативной памяти.
Переменная в PHP пишется со знаком доллара $  впереди, например $veriable.

В PHP существуют набор основных типов данных , которые указываются при
роботе с переменными:

  • integer - целое число;
  • float - дробные числа;
  • boolean - логический тип данных;
  • string - строки;
  • double - числа с плавающей запятой;
  • array - массив;
  • object - объект ;
integer - целое число
integer использует числа в диапазоне от −2,147,483,648 и до  +2,147,483,647.

четверг, 4 октября 2012 г.

HTML в PHP

PHP применяется для создания текста под названием - HTML .
Рассмотрим наш пример "Hello World!", но уже с включением его в HTML:


<html>
<head>
<title>First page</title>
</head>
<body>
<?PHP echo "Hello World!";?></body>
</html>

Для того чтобы включить в HTML файл PHP , мы используем специальные теги:

Инструкция обработки XML:
<?php
...
?>
Инструкция обработки SGML:
<?
...
?>
Инструкция обработки сценариев HTML:
<script language = "php">
    ...
</script>


Все что написано между этими тегами является - php код,
все что не входит в эти теги - html.

После тега <?php идет текст перед которым стоит знак обозначения что это
комментарий (//, # , /*).


<?php

//однострочный комментарий
# однострочный комментарий
/*много- 
     строчный
            коментарий  */

echo "// не комментарий";
echo /* а это комментарий*/ "Hello World";
echo "Hello World"; // и это комментарий 
?>