За последние 24 часа нас посетили 17710 программистов и 1658 роботов. Сейчас ищут 949 программистов ...

Константный (const) аргумент

Тема в разделе "PHP для новичков", создана пользователем VLK, 14 янв 2014.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Подскажите, в C++ при передаче аргумента функции можно было сделать так, что бы этот аргумент в функции был константный, т.е. не мог быть изменен в функции, при этом сама переменная не являлась константной, выглядело это так (код C++):

    Код (Text):
    1. void mat (const int val) {
    2. cout << val; /* печатает текст в консоли */ }
    3.  
    4. void main() {
    5. int x = 5;
    6.  
    7. mat (x);
    8. }
    За счет ключевого слова const перед int val этот val внутри функции я не могу менять (будет ошибка).
    Подскажите, есть ли что-нибудь подобное в PHP без особых извращений (что то я не помню что бы встречал такое в книге).


    PS если возник вопрос зачем это, val можно передавать и по ссылке (я тут этого не делал что бы не нагружать), при этом нужно что бы он не менялся, с const будет поспокойнее.
     
  2. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    хрень. организуй работу системы так, чтобы приходили только необходимые данные. если прийдут левые... это их проблема. нужно читать мануал по использованию вашего кода
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Возвращаемое функцией обезопасит.
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Ну то что хрень и нужно быть внимательнее это понятно, я просто думал если такое есть в C++, C# может и тут есть, просто я пропустил.

    Не совсем понял, а точнее вообще не понял.
     
  5. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Ни в одном интерпретируемом языке нету подобного: ни питоне, ни в руби, даже в перле не видел, поскольку у них несколько другая природа.
    Как говорил один буржуй: Scripting languages are great for "running naked through the woods" because it is "fun". (c)
    З.Ы. [роясь в памяти] в C# - тоже не видел... хотя я его не видел с десятого году, может и изменилось чего.
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. function name($name) {
    2.     define('NAME',$name);
    3.     return NAME;
    4. }
    5. echo name('Name');
    Это максимум =)
    Хотя я не вижу смысла, так писать, ибо до определения defina, можно с $name сделать, что угодно, прежде чем она попадет в константу.

    В php есть только некоторые зарезервированные выражения в прототипе функции или метода - это array, callable ( >= 5.3 ), ClassName...

    Код (PHP):
    1. function name(array $array) {
    2. } 
     
  7. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    Yii геттеры и сеттеры