За последние 24 часа нас посетили 63334 программиста и 1739 роботов. Сейчас ищут 957 программистов ...

Строка, как обьект по умолчанию

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

  1. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    В какой-то из версий PHP уже сделали строку обьектом по дефолту, чтоб можнол было использовать винтаксис типа
    Код (PHP):
    1. $str = 'Scalar string';
    2. echo $str->length(); 
    или только фреймворки и обёртки?

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. serega3000

    serega3000 Новичок

    С нами с:
    14 окт 2015
    Сообщения:
    1
    Симпатии:
    0
  3. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    Про примочки слышал, просто думал, что могло быть в какой-то из последних версий поменяли коцепт.
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    сейчас версия 5-я, в ней такого нет, следующая 7-я, возможно в ней, но я очень в этом сомневаюсь.
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вот ты приходишь в пхп с подходом других языков. Нафига в пхп строке быть объектом? чтобы не помнить функции? Их пять штук надо запомнить и усё.
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Ненене! PHP ≠ Java и никогда не будет равен.

    Если бы я был большим, я бы предложил альтернативу функциям из глобальной области имен. Слелал бы неймспейс string где бы с именами функций и порядком параметров был порядок. Так же и с функциями про массивы и т.п. И тогда бы новые версии фреймворков смогли отказаться от корявого легаси. И при этом старый код не обязательно ломать.
     
  7. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    Угу! http://php.ru/manual/ref.strings.html :))
    А ведь речь не только про строки, например, http://php.ru/manual/ref.array.html
    Всё это надо держать в голове (раз), синтаксис цепочек удобнее и нагляднее (два):
    Код (PHP):
    1. return $str -> substr(3,10) -> toUpper() -> toArray() -> sort(); 
    Согласись читабельнее и компактнее, чем:
    Код (PHP):
    1. $str = substr(3,10,$str);
    2. $str = toUpper($str);
    3. $arr = str_split($str);
    4. sort($arr);
    5. return $arr;
    6.  
    или вобще мрак:

    Код (PHP):
    1. sort(str_split(toUpper(substr(3,10,$str))));
    2. return $arr;
    3.  
    При этом для случая с $str -> substr(3,10) -> toUpper() -> toArray() -> sort(); IDE будет сама подсказывать возможные методы к текущему типу. А при условии набора процедур, ты даже в самых продвинутых получаешь только полный список независимо от того какой тип тебе надо обработать, так как тип будет добавлен потом, уже после того как скобочка откроется. Список процедур будет как бездонная простыня. Гадаешь с какой буквы начинается имя. Вроде для работы со строками должна быть str..., а хрен parse_str или lcfirst!

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  8. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    1) а как ты хотел? чтоб программировать на любом ЯП нужно очень многие его особенности держать в голове. иначе не бывает.
    2) помнить все названия нет необходимости. у Пыха отличный мануал. держи его под рукой и за пять сек будешь всегда находить все что нужно.
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    хз, точка это хорошо, но в пхп -> а это буэ. Но профит есть, да.
     
  10. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    Ты не понимаешь сути сказанного. Вопрос в удобстве работы со строками и массивами, а не том, как программировать на том или ином языке. Потому, что есть схожие концепции.
    То, что надо держать в голове больше, чем в других ЯП или под рукой держать документацию для таких простых вещей как скаляры, это как раз неудобство и минус колнкретного ЯП. Если ты возьмёш язык с обьектным подходом к скалярам, то ты уже без документации сможешь начать работать в нём с ними быстро в IDE. При этом это могут быть не конкретный, а "тот или иной ЯП" (разные).

    ПС Не собирался спорить и доказывать, просто хотел спросить у тех, кто понимает о чём речь, что может этот поправили в поздних версиях PHP.. Про фреймворки вопрос понятен в PHP это со скорбью тянут по историческим причинам. Всё ясно. Топик не имеет более смысла.